zoukankan      html  css  js  c++  java
  • Delphi拷贝目录(含子目录)的方法

    要实现目录级的拷贝,可以利用Windows API函数ShFileOperation( ),其函数声明如下:  
      
    WINSHELLAPI int WINAPI SHFileOperation(  
        LPSHFILEOPSTRUCT lpFileOp  
    );  
      
    实例:  
      
    新建一个工程,其程序示例如下:  
      
    unit Unit1;  
      
    interface  
      
    uses  
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
    Dialogs, StdCtrls,ShellApi;  
    //注意:必须引用ShellApi单元  
      
    type  
    TForm1 = class(TForm)  
    Button1: TButton;  
    procedure Button1Click(Sender: TObject);  
    private  
    { Private declarations }  
    public  
    { Public declarations }  
    end;  
      
    var  
    Form1: TForm1;  
      
    implementation  
      
    {$R *.dfm}  
      
    procedure TForm1.Button1Click(Sender:TObject);  
    var  
    OpStruc:TSHFileOpStruct;  
    frombuf,tobuf:Array[0..128]of Char;  
    begin  
    FillChar(frombuf,Sizeof(frombuf),0);  
    FillChar(tobuf,sizeof(tobuf),0);  
    //假设将C:	emp1目录下的所有文件复制到C:	emp2目录下  
    StrPCopy(frombuf,'C:	emp1*.*');    //(*.*)可去掉  
    StrPCopy(tobuf,'C:	emp2');  
    With OpStruc Do  
    begin  
        Wnd:=Handle;  
        wFunc:=FO_COPY;  
        pFrom:=@frombuf;  
        pTo:=@tobuf;  
        fFlags:=FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;  
        fAnyOperationsAborted:=false;  
        hNameMappings:=Nil;  
        lpszProgressTitle:=Nil;  
    end;  
    ShFileOperation(OpStruc);  
    end;  
      
    end.  
      
        通过本程序,可以将某一子目录及其下面的所有文件(包括下级子目录)拷贝到另一个子目录,如果目标目录不存在,则会自动创建它,从而实际一些自动备份的功能。  
       
    

      

  • 相关阅读:
    Linux下vim中文乱码问题
    phoniex初始化
    [Android] 修改ImageView的图片颜色
    [osx] android studio下修改avd的hosts文件
    [osx] 设置crontab
    [osx] 查看端口被占用
    [Ubuntu] change mouse scrolling between standard and natural
    [Vuejs] 关于vue-router里面的subRoutes
    [nodejs] Error: unable to verify the first certificate
    [SublimeText] 安装包管理
  • 原文地址:https://www.cnblogs.com/qingsong/p/4033104.html
Copyright © 2011-2022 走看看