可以使用FindFirstFile()將文件從一個目錄移動或複製到另一個目錄嗎?既然它返回一個句柄,這個句柄可以用來做它嗎?可以使用FindFirstFile()移動文件
回答
不,它甚至不是內核句柄。此句柄可能只有傳遞給FindNextFile
和FindClose
。
P.S.您不希望CreateEvent
返回的句柄能夠複製文件...
MoveFile()函數只需要2個參數(從文件名到文件名),因此您不需要使用FindFirstFile移動文件。功能與CopyFile()類似。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx
見報價:
如果函數成功,返回值是 到FindNextFile或FindClose的後續調用使用的搜索句柄,並lpFindFileData 參數包含有關信息找到第一個文件或目錄 。
返回值是一個搜索句柄,而不是文件句柄。由此看來,你不能。
FindFirstFile
返回搜索處理(不文件句柄),其目的是隻對文件搜索。由於您已經將文件名(和路徑)作爲參數傳遞給FindFirstFile
,爲什麼不將它傳遞給MoveFile/MoveFileEx
。如果文件不存在,您甚至不需要撥打FindFirstFile
,MoveFile
將會失敗。
它返回的句柄僅用於允許您調用FindNextFile()。非常方便,可以讓你傳遞通配符(例如「。」)以迭代所有匹配的文件。不要忘記調用FindClose()。
真金塊是它返回的WIN32_FIND_DATA.cFileName值。這是你需要調用MoveFile()來移動文件的人。
我不明白真正的金塊線..你在暗示什麼?我嘗試使用MoveFile(),但它沒有奏效。傳遞給MoveFile()的2個文件的路徑太長了,我認爲這可能是一個問題.. – digvijay 2012-02-01 13:42:36
@digvijay:如果'MoveFile()'不適合你,那麼你可能沒有正確使用它。請注意,'cFileName'只返回文件名,而不是完整的路徑。它與正在搜索的文件夾相關。確保你傳遞完整路徑到'MoveFile()'。如果它仍然不起作用,那麼在這裏顯示你的代碼。 – 2012-02-08 05:55:42
- 1. FindFirstFile多種文件類型
- 2. 當文件可用時移動文件
- 3. 是否可以使用Win32 :: OLE移動Outlook文件夾?
- 4. 是否可以使用django-filer移動文件?
- 5. 我可以使用Windows對話框移動/覆蓋文件嗎?
- 6. C++ - 提取所有文件名 - 用FindFirstFile
- 7. 移動文件在可可
- 8. 使用cmd移動文件?
- 9. 使用Python移動文件
- 10. 使用VBscript移動文件
- 11. jqgrid可以使用jQuery移動嗎?
- 12. FindFirstFile,FindNextFile API不可靠嗎?
- 13. 如何從FindFirstFile()獲取多個文件類型有可能嗎?
- 14. 是否可以從ashx文件創建移動應用程序
- 15. 使用FindFirstFile/FindNextFile刪除文件夾中的所有文件的C++代碼
- 16. FindFirstFile LPCSTR
- 17. C++ - 經與用FindFirstFile
- 18. 使文件不可移動,可複製或可刪除?
- 19. 我可以使用root ca證書籤署iOS移動配置文件嗎
- 20. 多線程可以在Windows上使用ATOMIC_MOVE移動相同的文件
- 21. 是否可以在.htaccess文件中使用通配符進行批量移動?
- 22. 是否可以使用FSEvents來獲取文件夾已被移動的通知?
- 23. 我可以優化現有的HTML,CSS和JS文件使用jQuery的移動
- 24. 我可以使用JSP在我的服務器上移動文件嗎?
- 25. 以附件移動到子文件夾
- 26. Laravel 4:遷移文件可以重複使用嗎?
- 27. 是否可以在Rails遷移中使用外部SQL文件?
- 28. 使用'管道'以交互模式移動文件
- 29. 我可以刪除遷移文件嗎?
- 30. 我可以刪除遷移文件嗎?
句柄只是一個特殊的指針。不管你如何得到一個。爲什麼這樣問?你遇到過問題嗎? – 2012-02-01 12:56:28
沒有遇到過這樣的問題,當我正在尋找將文件從一個文件夾複製到另一個文件夾的方法時,這種方法剛打了我......也許我關於手柄的概念不是很清楚。 – digvijay 2012-02-01 13:16:21