假设我要删除D盘里的所有文件、文件夹!另删除完后要自动复制一个文件(如:1.exe)到D盘某个目录(如:d:\11\)!请问应该怎么做!

解决方案 »

  1.   

    最好能用一个ButtonClick过程来实现!
      

  2.   

    加入shellapi单元
    删除文件的函数
    procedure TForm1.Deletedir(str:string);
    Var
      T:TSHFileOpStruct;
      P:String;
    begin
      //P:='c:\update';//这里改成你要删除的任意目录名
      With T do
      Begin
        Wnd:=0;
        wFunc:=FO_DELETE;
        pFrom:=Pchar(P);
        pTo:=nil;
        fFlags:=FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
        hNameMappings:=nil;
        lpszProgressTitle:='正在删除文件夹';
        fAnyOperationsAborted:=False;
      End;
      SHFileOperation(T);
      Application.MessageBox('删除成功!','系统提示',64);
    end;
    复制文件的例子
    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 );
      StrPCopy( frombuf, '\\192.168.0.5\oa_case_server\update\*.*' );
      StrPCopy( tobuf, 'e:\update' );
      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;