保證只有在同一個邏輯驅動器上時,Directory.Move纔會重命名並且不會複製/刪除?Windows - C# - Directory.Move
回答
實際上,如果您嘗試將目錄移動到其他卷,則Directory.Move
會失敗。如果你想執行這樣的動作,你必須自己複製/刪除。我認爲你可以放心地認爲Directory.Move
只會在沒有複製文件的情況下執行操作。
http://stackoverflow.com/questions/7343880/detecting-if-file-move-will-require-copy-delete-or-just- alter-location-in-th – user441660
感謝David,但你確定嗎?它有點與上面的鏈接矛盾?!!或者我錯過了什麼? – user441660
該鏈接似乎用於討論文件。你的問題涉及目錄。 Directory.Move文檔明確指出,交叉卷移動會失敗。 –
Directory.Move
是一個原子操作,如果這就是你所得到的。它不是作爲2個操作。至少在NTFS上。
感謝喬治,但我更感興趣需要多少時間。如果它瞬間,我不會擔心其他進程或線程試圖從錯誤的位置讀取或寫入。 – user441660
- 1. C#的Directory.Move System.NotSupportedException
- 2. 得到錯誤Directory.Move()C#
- 3. Windows 7上的Directory.Move時發生IOException
- 4. .NET Directory.Move()vs File.Move()
- 5. 訪問路徑被拒絕 - C#Directory.Move
- 6. Directory.Move不工作(文件已經存在)
- 7. 爲什麼Windows資源管理器允許創建文件夾太長,無法被Directory.Move移動 - 生成PathTooLongException?
- 8. 當Directory.Move子文件夾和父文件夾
- 9. Directory.Move遠程目錄導致DirectoryNotFoundException,但目錄中存在
- 10. Directory.Move對於UNC路徑無法正常工作
- 11. Objective-C和Windows
- 12. Windows phone C++
- 13. Windows和Objective-C
- 14. OpenCV C++ - Windows IDEs
- 15. C windows sendto()
- 16. IndexOutOfRangeException - Windows Phone(C#)
- 17. Windows Forms C++
- 18. Windows窗體C#
- 19. Windows 8.1 StreamSocketListener c#
- 20. Windows RT和c#
- 21. C++,Windows編程
- 22. 在Windows C++
- 23. C#/。NET在Windows
- 24. WPD C#Windows Phone
- 25. C#Windows Form_Closing Issue
- 26. CWD C++ Windows
- 27. C++和Windows,CRT
- 28. Windows服務C
- 29. Windows服務 - C#
- 30. c#windows窗體
我不會依賴那個。那裏不僅有NTFS,如果你在這個假設下編寫代碼,它可能隨時在其他機器或磁盤上崩潰,具體取決於你無法控制的細節。 –
如果應用程序僅在NTFS上運行,您會依賴它嗎? – user441660
不,我不會,但下面它似乎像大衛有另一個想法/知識 –