我想找到某種方式來刪除文件。有些文件不能通過刪除命令以簡單的方式刪除。如惡意軟件或打開的文件。有沒有可以強制刪除的命令?如何強制刪除文件
如何強制刪除文件
回答
在Windows中,除非先關閉文件,否則無法刪除當前打開的文件(包括由操作系統作爲執行的一部分保持打開的可執行文件,對於當前加載的DLL和驅動程序也是如此)在可執行文件的情況下,如果沒有嚴重的欺騙和「欺騙操作系統」[例如關閉驅動程序中的文件,該文件最初未被該驅動程序打開],則不可能)。
大多數真實應用程序(例如安裝程序)解決此問題的方法是將文件的刪除添加到在關機或啓動時運行的某些內容,然後要求用戶重新啓動計算機。 [這也適用於使用新文件複製舊文件,這在安裝軟件時更爲常見]。
在Unix/Linux環境中,只要您有足夠的權限來刪除文件,就可以將其刪除,但是如果文件處於打開狀態,它將不會被「真正刪除」,直到它被關閉。這在大多數情況下可能沒有太大的影響,但是例如說一些長期運行的程序正在生成巨大的日誌文件,那麼您實際上無法通過刪除文件來釋放磁盤空間 - 只有在文件釋放後才能釋放磁盤空間關閉了。重新啓動長時間運行的程序是一種解決方案,但是如果您剛剛計算出PI的大量小數,並且想繼續運行,則可能不是解決方案。
這兩種機制都被設計用來防止操作系統在它打開的文件突然丟失時突然驚訝 - 特別是當操作系統可能使用該文件作爲通過讀/寫頁面的基礎時內存分頁系統(無論是內存映射文件或可執行
總之,沒有簡單的解決方案,保證任意文件可以刪除
我不知道如何,但在Windows中,它可以找出哪個進程打開了文件。殺死他們,然後你可以刪除文件(儘管我認爲你必須先等一下)。 –
首先,你應該確定給定文件的FD。: Finding open file descriptors for a process linux (C code)?
然後關閉it.It更好t韓力。
- 1. 如何強制刪除一個文件
- 2. git push - 強制刪除遠程文件?
- 3. GNU強制刪除中間文件
- 4. 如何強制刪除C#中的拒絕訪問文件
- 5. 如何使用PowerShell強制刪除打開的文件
- 6. 如何強制刪除C/C++中的鎖定文件?
- 7. 如何強制鏈接時不刪除?
- 8. 如何強制刪除Windows服務?
- 9. 如何用jquery強制刪除元素?
- 10. 如何在laravel中強制刪除5.4
- 11. 如何強制刪除與SHOW_FORCED
- 12. 如何強制MariaDB數據庫刪除?
- 13. 如何強制刪除python對象?
- 14. 強制限制刪除
- 15. 強制刪除文件夾中的所有文件
- 16. Kubernetes強制刪除RC不刪除
- 17. Laravel強制刪除關係事件
- 18. 強制刪除緩存
- 19. Laravel強制刪除失敗
- 20. .htaccess強制刪除重寫
- 21. 強制從codeigniter刪除index.php
- 22. 強制刪除並重命名VB6中的文本文件
- 23. 如何強制反應組件在刪除後重新渲染
- 24. 如何強制刪除動作按鈕在jqgrid中調用刪除控制器
- 25. 如何強制寫入/刪除其他用戶遠程打開的文件?
- 26. 在Yeoman中,如何移動文件夾並強制刪除原始位置?
- 27. 如何刪除數據文件夾以及部分postgres9.1強制卸載腳本
- 28. 如何強制刪除另一個進程正在使用的文件夾?
- 29. 強制參數不再起作用的文件夾刪除
- 30. Github強制刪除帶有反斜槓的壞文件
簡短回答:本地和跨平臺的智慧,使用C++以外的其他東西可能更好。 – jrd1
你應該看看boost :: filesystem庫。它可以刪除文件,並有一個合理簡潔的界面。 http://www.boost.org/doc/libs/1_48_0/libs/filesystem/v3/doc/reference.html。如果您在嘗試時遇到問題,請發佈您已完成的操作,然後Stack Overflow可以幫助您。 – NicholasM
我想沒有人問過什麼操作系統,因爲只有一個具有惡意軟件,並限制刪除打開的文件,這有助於它鞏固。 – Potatoswatter