procedure TForm1.Button1Click(Sender: TObject);
var
    DirInfo: TSearchRec;
    r : Integer;
begin
    if SaveDialog1.Execute then
       begin
           if CreateDir(SaveDialog1.FileName)= false then
              ShowMessage('不能创建目录:'+SaveDialog1.FileName);
           r := FindFirst(ExtractFilePath(Application.Exename)+'dbf\*.*', FaAnyfile, DirInfo);
           while r = 0 do
               begin
                   if ((DirInfo.Attr and FaDirectory <> FaDirectory) and
                        (DirInfo.Attr and FaVolumeId <> FaVolumeID)) then
                      CopyFile(pChar(ExtractFilePath(Application.Exename)+'dbf\'+DirInfo.Name),
                                                pChar(SaveDialog1.FileName+'\'+DirInfo.Name),True);
                   r:=FindNext(DirInfo);
               end;
           SysUtils.FindClose(DirInfo);
       end;
end; 

解决方案 »

  1.   

    The CopyFile function copies an existing file to a new file. BOOL CopyFile(    LPCTSTR lpExistingFileName, // pointer to name of an existing file 
        LPCTSTR lpNewFileName, // pointer to filename to copy to 
        BOOL bFailIfExists  // flag for operation if file exists 
       );
     ParameterslpExistingFileNamePoints to a null-terminated string that specifies the name of an existing file. lpNewFileNamePoints to a null-terminated string that specifies the name of the new file. bFailIfExistsSpecifies how this operation is to proceed if a file of the same name as that specified by lpNewFileName already exists. If this parameter is TRUE and the new file already exists, the function fails. If this parameter is FALSE and the new file already exists, the function overwrites the existing file and succeeds.  Return ValuesIf the function succeeds, the return value is nonzero.
    If the function fails, the return value is zero. To get extended error information, call GetLastError. ResSecurity attributes for the existing file are not copied to the new file. 
    File attributes (FILE_ATTRIBUTE_*) for the existing file are copied to the new file. For example, if an existing file has the FILE_ATTRIBUTE_READONLY file attribute, a copy created through a call to CopyFile will also have the FILE_ATTRIBUTE_READONLY file attribute. For further information on file attributes, see CreateFile.See AlsoCreateFile, MoveFile