怎样判断文件已经复制完毕?(100分)

  • 主题发起人 主题发起人 miaofeng
  • 开始时间 开始时间
M

miaofeng

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有这样的需求,复制一个文件后马上要进行一个对新复制文件的操作,那么就要求文件必须是复制完成的,但现在不知道怎么判断文件已经复制完成,用CopyFile或者ShFileOperation好象都不能得到这个完成的信息,请各位朋友帮忙看看,谢谢:)
 
[:(]大富翁现在好冷清啊,唉
 
可以用独占式打开文件,若成功表示拷贝完成,失败表示文件正在拷贝<br>var<br> &nbsp;OFStruct: TOFStruct;<br>begin<br> &nbsp;if OpenFile(pchar('文件名'),OFStruct,Of_Share_Exclusive) &gt; 0 then<br> &nbsp;//OK<br> &nbsp;else<br> &nbsp;//Faild<br>end;
 
就用Copyfile应该可以<br><br>if copyfile(pchar(源文件),pchar(目标文件),false) then .....
 
if OpenFile(pchar('文件名'),OFStruct,Of_Share_Exclusive) &gt; 0 then<br>這裏的文件名是你的目標文件名,因為正在複制時,目標文件是不能用獨點式打開的.所以這樣就可以判斷是否複制完或複製成功
 
楼上俩位方法应该可以<br><br>就不多说了
 
对正在复制中的文件进行改名操作,判断一下是否成功。
 
copyfile有返回值的
 
copyfile就可以了,如果没有拷贝完成的话,不继续往下执行。
 
比如复制一个文件需要30秒钟,而CopyFile函数是如果可以进行复制操作就会立刻返回,而不是等到30秒钟复制完成以后,所以用CopyFile的返回值判断是不行的。
 
to miaofeng:<br> &nbsp;copyfile函数会等到copy完成才返回的,也就是说复制一个文件需要30秒钟,则会等30秒钟,才执行copyfile的下一条语句。如果想得到更多关于copy过程中的信息,(如已copy的字节数等),可以使用copyfileEX
 
后退
顶部