C cantonas Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #1 我用一个循环用winexec调用xcopy去复制文件夹,但是它每调用一次都打开一个msdos的窗口,<br>一下子打开了几十个windows,我希望它们都在一个窗口内完成,或调用完自动关闭,<br>怎么办?<br>能自动关闭也很麻烦,xcopy 每次都要确认(direct or file),
我用一个循环用winexec调用xcopy去复制文件夹,但是它每调用一次都打开一个msdos的窗口,<br>一下子打开了几十个windows,我希望它们都在一个窗口内完成,或调用完自动关闭,<br>怎么办?<br>能自动关闭也很麻烦,xcopy 每次都要确认(direct or file),
T TYZhang Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #2 1、用WinExec('ffffgf',SW_HIDE);<br>2、用Xcopy .... /y 去掉确认提示.
Y yzhshi Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #3 CreateProcess<br>顺序调用,因为WinExec属于异步执行,当执行完,不等返回结果,直接执行下一句话,所以出现了这个问题。
Y yfdciom Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #4 你这种方法最原始。<br>复制文件夹也不用winexec 呀,有更好的方法你为什么不用呢?
P peng_qs Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #5 对呀,简单的COPYFILE API就可以搞定啦.
P pnljh Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #6 楼上说的是,用xcopy还有可能把超过8个字串的文件名给剪了。
C cantonas Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #7 COPYFILE API可以copy 整个文件夹里的所有内容吗?包括所有子目录。给个示例可以吗?
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-28 #9 var<br> SHFileopstruct:TSHFileopstruct;<br> dirnamechar;<br> Buffersize:cardinal;<br> AHandle:Thandle;<br>begin<br> AHandle:=0;<br> Buffersize:=Length(ADirname)+1+1;<br> Getmem(DirName,Buffersize);<br> try<br> fillchar(dirname^,buffersize,0);<br> strcopy(DirName,pchar(ADirName));<br> with SHFileopstruct do<br> begin<br> wnd:=AHandle;<br> wFunc:= FO_DELETE;<br> pFrom:=Dirname;<br> pTo:=nil;<br> fflags:=FOF_NOCONFIRMATION;<br> fAnyOperationsAborted := false;<br> hNameMappings:=nil;<br> end;<br> if shfileoperation(SHFileopstruct)<>0 then<br> //'删除文件夹失败!')<br> else //'文件夹已删除!'); <br> finally<br> freeMem(Dirname,buffersize);<br> end;
var<br> SHFileopstruct:TSHFileopstruct;<br> dirnamechar;<br> Buffersize:cardinal;<br> AHandle:Thandle;<br>begin<br> AHandle:=0;<br> Buffersize:=Length(ADirname)+1+1;<br> Getmem(DirName,Buffersize);<br> try<br> fillchar(dirname^,buffersize,0);<br> strcopy(DirName,pchar(ADirName));<br> with SHFileopstruct do<br> begin<br> wnd:=AHandle;<br> wFunc:= FO_DELETE;<br> pFrom:=Dirname;<br> pTo:=nil;<br> fflags:=FOF_NOCONFIRMATION;<br> fAnyOperationsAborted := false;<br> hNameMappings:=nil;<br> end;<br> if shfileoperation(SHFileopstruct)<>0 then<br> //'删除文件夹失败!')<br> else //'文件夹已删除!'); <br> finally<br> freeMem(Dirname,buffersize);<br> end;
C cantonas Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-30 #10 用SHFILEOPSTRACT没有删除或复制整个文件夹里(包括所有子目录)的所有内容吗的方法啊<br>copyfile 可以吗?如果没更好的答案,就把分给TYZhang兄。xcopy 虽然有不少问题,但可<br>暂时解决我的需要,而且不用对我原来程序做大修改。
用SHFILEOPSTRACT没有删除或复制整个文件夹里(包括所有子目录)的所有内容吗的方法啊<br>copyfile 可以吗?如果没更好的答案,就把分给TYZhang兄。xcopy 虽然有不少问题,但可<br>暂时解决我的需要,而且不用对我原来程序做大修改。
C cantonas Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-30 #11 啊,不行!! xcooy的/y参数不能去掉目录/文件的确认提示.<br>如果加上,WinExec('ffffgf',SW_HIDE)不显示执行window,结果会什么都没copy ?<br>如果50分不够可以加(但不知怎么加),手头还有一百多块
啊,不行!! xcooy的/y参数不能去掉目录/文件的确认提示.<br>如果加上,WinExec('ffffgf',SW_HIDE)不显示执行window,结果会什么都没copy ?<br>如果50分不够可以加(但不知怎么加),手头还有一百多块