如題,我需要批量重命名檔案,再用CopyFile或者MoveFile進行拷貝時,一次最多只能拷貝165個檔案,這是什么問題?或者有什么方法解決嗎?
MoveFile(sInitCompleteName, sNewPathAndName);
CopyFile(sInitCompleteName, sNewPathAndName);
uj5u.com熱心網友回復:
sInitCompleteName, sNewPathAndName 是怎么來的?uj5u.com熱心網友回復:
這個是我自己定義的,sInitCompleteName代表原檔案路徑,sNewPathAndName代表復制出新檔案路徑
uj5u.com熱心網友回復:
在現實世界中,除時間和空間可能是無限的以外,其它任何事物都是有限的。在復制檔案時用CopyFile或者MoveFile為什么一次性只能復制1000000個檔案?
uj5u.com熱心網友回復:
趙老師說的對!!!因為要批量處理較多檔案,所以在用copyfile時一次性只能復制這164個,不知道是什么原理?一直也沒搜到,也希望能有什么解決方法能一次性復制更多的檔案
uj5u.com熱心網友回復:
可以除錯跟蹤一下這個API的內部實作( 需要懂點匯編)看內部如何實作的
uj5u.com熱心網友回復:
自己判斷,超過100個,分多次操作。
uj5u.com熱心網友回復:
這么詭異?我專門試了沒有問題啊::MoveFile("v:\\TEMP","v:\\TEMP2");
我TEMP下有1000個檔案
能貼貼你的代碼嗎?
uj5u.com熱心網友回復:
這么詭異?我專門試了沒有問題啊
::MoveFile("v:\\TEMP","v:\\TEMP2");
我TEMP下有1000個檔案
能貼貼你的代碼嗎?
你敢試1000000個檔案嗎?!
uj5u.com熱心網友回復:
用 SHFileOperationuj5u.com熱心網友回復:
其實我自己對于批量拷貝都是用自己寫的 API 代替的。畢竟系統的 API 要么太簡單,要么太復雜。比如 CopyFile 引數也太簡單了吧,一次一個檔案。而 SHFileOperation 呢又太麻煩了,路徑引數都要求以雙零結尾。如果你要包裝一層,意味著內部必須拷貝一份,多分配一個尾零,并進行特殊處理。uj5u.com熱心網友回復:
搜“robocopy”轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/112550.html
標籤:界面
上一篇:MFC程式自適應解析度
下一篇:c/s架構的問題
