如何COPY文件?(20分)

M

maomicn

Unregistered / Unconfirmed
GUEST, unregistred user!
1.如何把‘c:/me/you’下的所有文件COPY到‘d:/me/you’
2.如何把‘c:/me/you’下的指定的文件 one.db,two.txt COPY到‘d:/me/you’
要先检查目标文件夹是否存在,不存在先建立,再COPY
 
方法多了
1、TFileStream
2、API函数,SHFileOperation
3、API函数,CopyFile

 
1.可如下實現

uses ShellApi; 用SHFileOperation函数
转:

//以下程序在D6+Win98下调试通过
var
OpStruc: TSHFileOpStruct;
frombuf, tobuf: Array [0..MAX_PATH] of Char;
Begin
FillChar(OpStruc,sizeof(TSHFileOpStruct),#0);
FillChar( frombuf, Sizeof(frombuf), #0 );
FillChar( tobuf, Sizeof(tobuf), #0 );
// StrPCopy( frombuf,'C:/temp/temp1'+#0+'C:/temp/temp2'+#0+#0);//error here
StrPCopy( tobuf, 'C:/music'+#0);
With OpStruc DO Begin
Wnd:= 0;
wFunc:= FO_COPY;
// pFrom:= @frombuf;
pFrom:=PChar('C:/temp/temp1'+#0+'C:/temp/temp2'+#0+#0);//modify here
pTo:=@tobuf;
fFlags:= FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_ALLOWUNDO;
fAnyOperationsAborted:= False;
hNameMappings:= Nil;
lpszProgressTitle:= Nil;

end;
if ShFileOperation( OpStruc )=0 then
showmessage('材料库备份成功!')
else
showmessage('材料库备份失败!')
end;

2就比較簡單了,我不再說了
 
参与一下!!
 
顶部