C 強制刪除檔案,解除占用的幾點思考

2021-09-22 06:47:17 字數 1163 閱讀 3339

有乙個古老的傳說:

占用的檔案是可以被強制刪除的。。。

如果被別的應用程式開啟著,你就要先找到那個開啟的程式,結束掉才行。或者關閉關閉相關程序,延遲的方法。

一般來說被占用就意味著有其它進行或者執行緒對該檔案讀或寫操作。如果是自己的程式對該檔案有檔案流讀寫最好在完成或者異常的時候關閉流close(),釋放流dispose(),後續才不會提示對此檔案有占用;如果不是自己的程式原因引起檔案的占用,則要重啟一下電腦進行刪除,如果仍然提示占用則要結束掉占用此檔案的程序,才可以進行刪除。

我們可以在c#中呼叫handle.exe 來檢測到底哪個程序占用了檔案

string filename = @"

c:\aaa.doc

";//

要檢查被那個程序占用的檔案

process tool = new

process();

tool.startinfo.filename = "

handle.exe";

tool.startinfo.arguments = filename+"

/accepteula";

tool.startinfo.useshellexecute = false

;tool.startinfo.redirectstandardoutput = true

;tool.start();

tool.waitforexit();

string outputtool =tool.standardoutput.readtoend();

string matchpattern = @"

(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)";

foreach(match match in

regex.matches(outputtool, matchpattern))

參考文章

winform中,如何強制刪除被占用檔案

jevan,  

使用c#檢測檔案正在被那個程序占用

沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支援與幫助,是萬萬不能的。

自己用命令強制刪除占用的檔案或資料夾

前言 有沒有遇到過一些情況?軟體解除安裝了,有些資料夾就是刪不掉,提示被占用,mmp,這時候你肯定想到了360檔案粉碎機!mmp,我就刪個資料夾還要裝個360?誰不知道360是個 大毒瘤 自己動手豐衣足食!正文 del和rd這兩個命令可以完美解決問題。請看詳解 就問你簡單不簡單!我要刪除乙個資料夾的...

TFS強制解除被獨佔簽出的檔案

1.強制解除被獨佔簽出的檔案必須使用命令工具tf.exe 該檔案在c program files microsoft visual studio 10.0 common7 ide目錄下,如果是64位系統則在c program files 86 microsoft visual studio 10.0...

linux的刪除檔案命令和強制刪除命令

linux中有許多的刪除命令的句子,例如刪除目錄的rmdir,刪除檔案的rm,下面實用的兩個強制刪除句子 一 強制刪除目錄 rm rf var usr epd 意思就是強制刪除var usr epd下的所有檔案目錄及資料夾和任何檔案,其中 f 是強制刪除 r是遍歷該檔案下的所有檔案和資料夾 二 強制...