在我的公司,我們正在編寫一個腳本來處理我們通常會手工完成的簡單任務。我正在使用c#刪除c:\ documents和settings \中的配置文件,只有幾個。這些將被簡單地留下。問題在於即使將代碼設置爲正常並將admin用戶標記爲所有者,它們也不會被刪除。他們說快速啓動文件夾的訪問被拒絕。我正在使用遞歸權限更改方法,我知道它的工作原理。與文件屬性相同的東西。爲什麼它不工作?我該如何解決?刪除Windows不希望我刪除的文件?
回答
它可能不是權限問題,而是文件鎖定問題。兩者似乎都是權限問題。
文件鎖定是通過將屬性設置爲正常來設置的屬性,對吧? – user315881 2010-04-13 20:35:28
@ user315881:不,我的意思是文件被鎖定了一個對文件具有鎖定句柄的進程(通常意味着該文件已被寫入)。除了通過獲取鎖的進程以外,您無法關閉它。 – Randolpho 2010-04-13 20:46:57
您可以使用名爲* Unlocker *的小型實用程序檢查鎖定手柄是否會導致刪除問題。它可以從網上免費下載。 – stakx 2010-04-13 20:56:55
這是非常棘手的,你將需要使用PInvoke調用本地API(我不確定哪些)。 Unlocker,解鎖其他進程正在使用的文件的實用程序會執行此操作。它尚未與Windows 7和某些版本的Windows的64位版本一起使用。
Unlocker曾經很棒,但我認爲它是在1.8.6中添加了一個後門特洛伊木馬(這些'ebay'快捷鍵)。該網站聲稱,ebay快捷鍵已被刪除,並用'bing toolbar'取代,但我仍然對使用它有所懷疑。 – 2010-04-13 20:45:28
是@Zach Johnson可悲的是這種情況 – TheVillageIdiot 2010-04-14 13:26:45
問題可能是其他進程已經打開這些文件或目錄的句柄。爲了幫助您找出哪些進程會受到責備,您可以使用Process Explorer的查找功能來查找它們。
(只是要清楚:這不是關於如何編寫代碼來刪除文件的建議,但對如何找出到底是什麼原因導致你目前的系統無法工作的建議)
你可以通過從http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
以管理員身份運行,並使用Find-> Handle或Dll來查看它是否被鎖定來驗證是否由文件鎖定而不是訪問控制造成的。
否則,您應該能夠獲得所有權並授予訪問權限,以便在沒有問題的情況下進行刪除。
- 1. 刪除功能是刪除標誌,但我不希望它刪除徽標
- 2. 刪除anaconda刪除python3希望回到python2
- 3. 文件#刪除不刪除文件
- 4. 我希望刪除模式ABC,不包含圖案MNO的文件
- 5. Wix不會刪除它的文件,如果我刪除我的
- 6. 刪除,項目不能刪除文件
- 7. Python - 刪除Windows文件夾
- 8. 我的刪除功能不會刪除目標文件
- 9. Windows Installer不會刪除卸載文件
- 10. 刪除我的* .gwt.xml文件
- 11. PHP(WINDOWS):刪除文件和文件夾而不刪除父目錄
- 12. 如何刪除\ /斜槓我只希望/在Drupal8 JSON輸出
- 13. 從文件夾中刪除文件[Windows]
- 14. 我如何刪除文件
- 15. 我deb文件刪除/ opt
- 16. 刪除文件,我選擇
- 17. 刪除文件
- 18. 刪除文件
- 19. 刪除文件
- 20. 刪除文件
- 21. 文件刪除
- 22. 刪除文件
- 23. 刪除文件
- 24. 刪除文件
- 25. 刪除文件
- 26. 刪除腳本只刪除文件不是文件夾
- 27. 從Git歷史中刪除文件而不刪除文件
- 28. 如何在已刪除的文件夾中刪除已刪除的文件
- 29. 刪除或Windows
- 30. $ cordovaFileTransfer刪除/刪除本地文件
哪個API調用失敗? – reuben 2010-04-14 07:43:27