系統小技巧:對症下藥 解決文件無法刪除的難題

2022-10-09     電腦愛好者

原標題:系統小技巧:對症下藥 解決文件無法刪除的難題

當我們要刪除一些文件時,系統有時會提示文件正被另一程序打開無法刪除,但是很多時候又沒有提示文件具體被哪個程序占用。下面筆者介紹查看占用文件的程序並將其徹底刪除的方法。

情況1:文件被資源管理器占用

文件無法刪除的情況大部分發生在資源管理器中,此時系統會提示文件夾或文件已在另一程序中打開,但是無法從提示中知道具體打開的程序(圖1)。

此時可以啟動「資源監視器」,查看「explorer.exe」進程(即資源管理器)是否加載了需要被刪除的文件。如果是,則可以將該進程終止後再刪除它。啟動該組件後切換到「CPU」選項卡,在「名稱」下勾選「explorer.exe」,接著展開下方的「關聯的模塊」,在「模塊名」下查找,可以看到當前無法刪除的「QQShellExt64.dll」,正是被「explorer.exe」進程加載的文件(圖2)。

在「資源監視器」中按提示結束「explorer.exe」進程,此時再按下「Ctrl+Alt+Del」打開任務管理器,依次點擊「文件新建任務瀏覽」,找到該文件並刪除(圖3)。最後重啟「explorer.exe」進程即可。

情況2:文件被後台進程占用

一些文件無法刪除是由於其正被後台系統服務或者進程所加載,因此要徹底刪除該文件,就需要先找出加載該文件的進程。比如筆者有一次在試圖刪除「rdpwrap.dll」文件時,系統彈出文件已在「remote desktop services」中打開的提示(圖4)。

但筆者在任務管理器中並沒有發現名為「remote desktop services」的進程,通過名稱描述大概可以知道這是一個系統服務。此時打開任務管理器,切換到「服務」,在「描述」中排查,可以知道這是名稱為「TermServices」的服務(圖5)。

按提示右擊該服務並選擇「打開服務」,找到該服務後將其「啟動類型」設置為「禁用」(圖6)。重啟電腦,然後再刪除即可。

小提示:

在「服務」組件窗口中,服務「名稱」欄下對應的是任務管理器中服務的「描述」,在資源管理器提示窗口中顯示的也是任務管理器的「描述」內容,需要根據描述內容找到對應的具體服務。

情況3:文件被後台驅動占用

在試圖刪除一些被病毒感染的.sys文件時,也經常會遇到文件無法刪除的情況。比如筆者電腦中的殺毒軟體排查到「C:\Windows\System32\drivers\Ababa64.sys」為病毒,但是殺毒軟體無法將其刪除,手動刪除則提示文件被後台程序打開。其原因大多是由於該文件被後台驅動服務加載,解決的方法是找出加載服務並將其停止,之後就可以將其刪除。

對於驅動服務及其加載的文件,可以藉助PowerShell命令行查看,系統所有的服務均可以在註冊表[hklm:\system\ControlSet001\services\]鍵值下看到。先以管理員身份啟動PowerShell,輸入並執行命令「Get-ChildItem -Path hklm:\system\ControlSet001\services\* | Out-GridView」,此時在打開的窗口中可以看到[Services]鍵值下的所有系統服務(圖7)。

繼續在圖7所示的窗口中依次點擊「添加標準Property」,即添加服務屬性篩選條件,接著在添加篩選條件框中輸入無法刪除的文件名稱「Ababa64.sys」。在篩選後窗口中可以看到該文件被名為「Ababa」的服務所加載,文件的路徑則為「C:\Windows\System32\drivers\Ababa64.sys」(圖8)。

通過上面的排查,可以知道文件無法被刪除是由於後台「Ababa」服務加載所導致的。接下來將病毒文件Ababa64.sys及加載它的系統服務刪除即可。

重啟並選擇進入安全模式,先根據圖8的提示在註冊表中找到相應的鍵值,並將右側的「start」值設置為4(表示將服務設置為「禁用」)。重啟電腦,確定系統可以正常使用後,接著根據圖8顯示的路徑將Ababa64.sys文件刪除,再根據圖8的「DisplayName」值(對應註冊表中服務鍵值),展開註冊表[HKLM:\SYSTEM\ControlSet001\Services\],將其中的「Ababa」鍵值刪除即可。

小提示:

如果無法刪除的文件是被後台系統服務占用,通過「任務管理器」即可找到服務。如果是被驅動服務占用,那麼就需要在註冊表[HKLM:\SYSTEM\ControlSet001\Services\]下查找,大家可以按照這個順序依次進行排查。

文章來源: https://twgreatdaily.com/zh-my/b1952ca31058c68dfa52261108deb2cb.html