文件操作疑难问题 ( 积分: 100 )

  • 主题发起人 主题发起人 waterflow
  • 开始时间 开始时间
W

waterflow

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi自带的文件操作我没有用,不是太方便。<br>实际环境:<br> &nbsp; win2003+delphi6<br>我的功能要求:<br> &nbsp; 在delphi中准确的实现DOS操作<br> &nbsp; &nbsp; 1: copy &nbsp;/Y /V 目录1/*.* 目录2/*.dbf <br> &nbsp; &nbsp; 2: &nbsp;del &nbsp;/F /Q 目录/*_kkk.dbf <br> &nbsp; 实际问题:<br> &nbsp; &nbsp; 1:copy和del对应的执行文件我不知道 &nbsp;copy我用xcopy.exe来进行,而del我不知到使用那个文件。<br> &nbsp; &nbsp; 2:使用 command.com /c 跟DOS命令的话 &nbsp;,如果加上DOS命令的选项 例如 /Y等则dos命令不起作用,不带选项正常。<br> &nbsp; &nbsp; 3:拷贝文件的时候,100个文件拷贝时会漏掉一些文件 &nbsp;删除好像也不能全部删除。我看了一下MSDN,WINEXEC有一个等待试验的提示,shellexecute好像没有 但是这两种实现方式均存在遗漏的问题。我想在一个函数中实现拷贝和删除操作【拷贝一些文件进来,删除一些历史文件】,实际中老是会遗漏一些文件【同样的命令在DOS下则不会遗漏】<br> &nbsp;谁彻底解决该问题,请告知 &nbsp;谢谢!
 
delphi自带的文件操作我没有用,不是太方便。<br>实际环境:<br> &nbsp; win2003+delphi6<br>我的功能要求:<br> &nbsp; 在delphi中准确的实现DOS操作<br> &nbsp; &nbsp; 1: copy &nbsp;/Y /V 目录1/*.* 目录2/*.dbf <br> &nbsp; &nbsp; 2: &nbsp;del &nbsp;/F /Q 目录/*_kkk.dbf <br> &nbsp; 实际问题:<br> &nbsp; &nbsp; 1:copy和del对应的执行文件我不知道 &nbsp;copy我用xcopy.exe来进行,而del我不知到使用那个文件。<br> &nbsp; &nbsp; 2:使用 command.com /c 跟DOS命令的话 &nbsp;,如果加上DOS命令的选项 例如 /Y等则dos命令不起作用,不带选项正常。<br> &nbsp; &nbsp; 3:拷贝文件的时候,100个文件拷贝时会漏掉一些文件 &nbsp;删除好像也不能全部删除。我看了一下MSDN,WINEXEC有一个等待试验的提示,shellexecute好像没有 但是这两种实现方式均存在遗漏的问题。我想在一个函数中实现拷贝和删除操作【拷贝一些文件进来,删除一些历史文件】,实际中老是会遗漏一些文件【同样的命令在DOS下则不会遗漏】<br> &nbsp;谁彻底解决该问题,请告知 &nbsp;谢谢!
 
正确使用findfirst, findnext 和 copyfile, deletefile 函数;<br>必要的时候还要使用GetFileAttributes 和 SetFileAttributes函数;<br>应该是没有问题的;
 
删除多文件的话用rmdir 命令<br>删除一个目录。<br><br>RMDIR [/S] [/Q] [drive:]path<br>RD [/S] [/Q] [drive:]path<br><br> &nbsp; &nbsp;/S &nbsp; &nbsp; &nbsp;除目录本身外,还将删除指定目录下的所有子目录和<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;文件。用于删除目录树。<br><br> &nbsp; &nbsp;/Q &nbsp; &nbsp; &nbsp;安静模式,带 /S 删除目录树时不要求确认
 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/shfileopstruct.asp<br><br>看看这个,可能对你有用。
 
要运行dos命令直接<br>WinExec('cmd /c md c:/1',SW_HIDE);<br>就可以了
 
非常感谢各位的高见。使用天河流星的方法没有问题。<br>但是各位知道如何解决winexec或shellexecute执行DOS命令时,拷贝、删除文件会遗漏的情况。<br>myveremy: 感谢你提供的连接,不过现在主要是时间紧急,能搞定就算了,过段时间研究一下你给的内容。
 
多人接受答案了。
 
后退
顶部