我需要恢復形式的文件進入鎖定狀態的錯誤情況。我如何在C#中告訴這個文件重置它的鎖?我需要添加到此文件是由第三方DLL打開,我實際上沒有訪問文件句柄。刪除文件鎖
刪除文件鎖
回答
也許你可以這樣開始網或psfile中一個命令行程序沿着線的東西:
System.Diagnostics.Process.Start("psfile c:\myfile.txt -c");
你可以得到psfile中here。
你也可以使用
net file ID /close
但這需要你知道文件ID,這將需要更多的工作。
未經測試,但這應該給你一個出發點。
您必須使用.Close()關閉文件。您需要確保您仍然有訪問文件對象的方式。
通常可以通過在執行文件I/O的代碼之後編寫try {} ... finally {}構造來避免此錯誤。在finally {}塊中,您可以調用文件對象的Close方法,以防止出現這種情況。您也可以在創建文件時使用使用{}塊,這也會解決這個問題。
鎖定文件是操作系統的責任(代表打開它的程序)。如果一個文件處於鎖定狀態,那麼它真正取決於要解鎖的操作系統。這通常會在打開文件的進程退出時自動發生。
然而,有一個非常酷的實用程序,我遇到,這將有所幫助。它被稱爲Unlocker。
我真的會考慮找到另一個第三方DLL。任何處理Streams的系統都應該正確地響應錯誤情況,並且不要留下文件鎖定之類的東西。
有沒有可能庫提供了錯誤條件清理,你剛看過嗎?試着像下面這樣,
try {
thirdPartyObj = new ThirdPartObj();
// Some possible error causing object actions
catch(Exception ex) {
thirdPartyObj = null; // The object should close its resources
}
該進程掛起並吃掉了cpu的50%。在其他情況下,它將返回一個錯誤代碼。這是一個C++ dll中的靜態函數。 – Erin 2008-10-23 13:27:12
- 1. 文件鎖定和刪除
- 2. 如何刪除文件鎖
- 3. 刪除陳舊的鎖文件 - rsnapshot doesn't像我的鎖文件
- 4. 用Java刪除鎖定的文件?
- 5. 解鎖要刪除的文件
- 6. 如何刪除被鎖定的文件?
- 7. 在Windows和Java中刪除文件鎖
- 8. 如何刪除鎖定的文件夾
- 9. del/q無法刪除鎖定文件
- 10. 如何刪除pycharm文件中的鎖?
- 11. 如何刪除鎖定的文件?
- 12. 在C中刪除解鎖文件#
- 13. 無法刪除文件,IIS鎖
- 14. 刪除用戶在perforce中解鎖所有鎖定的文件
- 15. Node.js fs.unlink在Windows上解鎖時刪除鎖定的文件
- 16. 鎖定文件並刪除它,而不先釋放鎖
- 17. 瞭解/刪除Azure文件服務上的文件鎖
- 18. 刪除鎖定的文件和文件夾
- 19. SQL刪除死鎖
- 20. SQL中刪除鎖
- 21. 文件#刪除不刪除文件
- 22. 刪除行和刪除表鎖甲骨文
- 23. 刪除文件
- 24. 刪除文件
- 25. 刪除文件
- 26. 刪除文件
- 27. 文件刪除
- 28. 刪除文件
- 29. 刪除文件
- 30. 刪除文件
這將工作,如果我不是在第三方DLL中打開該文件。 – Erin 2008-10-23 02:21:03