除檔案夾的時候發現出現了問題,一個檔案夾老是刪除不掉!
再仔細檢查發現沒有任何問題,但是就是莫名其妙的刪除不掉。再一層一層檢查,到最後發現雙擊檔案夾後出現提示:無法訪問此檔案夾 路徑太長。
看了其他人說的辦法,其實都不是很好使,即使採用了360的檔案粉碎機還是不能搞定!最後自己想了一個辦法搞定了,解決辦法其實非常簡單的,下面告訴大家:
檔案夾路徑太長太深了,比如檔案路徑是A/B/C/D/F/G….
那麼,可以將中間某個環節開始的剪下掉,放到外面來,這樣就類似於A/B/C/,然後D/F/G….放在與A位置相同的地方,這樣檔案夾路徑就不是太長了,這時候再刪除就沒問題了。
另我總結了一些辦法
一、常規解決辦法
1.注消或重啟電腦(電腦(電腦)),然後再試著刪除。
2.進入“安全模式刪除”。
3.在純DOS命令列下使用DEL、DELTREE和RD命令將其刪除。
4.如果是檔案夾中有比較多的子目錄或檔案而導致無法刪除,可先刪除該檔案夾中的子目錄和檔案,再刪除檔案夾。
5.如果是在“添加或刪除程式”選項卸載一個軟體後,發現軟體的安裝目錄仍舊存在,裡邊殘留著幾個檔案,直接刪除時,系統卻提示檔案正在使用無法刪除。
此時可首先開啟“命令提示字元”視窗,按“Ctrl+Alt+Del”按鍵組合開啟工作管理員,在進程中將“explorer.exe”進程關閉掉(在這之前最好將所有程式關閉掉),切換到命令提示字元視窗,使用DOS命令進入無法刪除的檔案夾,輸入“Del 檔案夾名”就可以將該檔案夾刪除了。刪除完成後,在工作管理員中選擇“檔案→新任務”,輸入“explorer.exe”重建立立系統的外殼。
二、進階解決方案
1.磁碟錯誤
運行磁碟掃描,並掃描檔案所在分區,掃描前確定已選上修複檔案和壞扇區,全面掃描所有選項,掃描後再刪除檔案。
2.預讀機制
某些視頻、影像檔播放中斷或正在預覽時會造成無法刪除。在“運行”框中輸入:REGSVR32 /U SHMEDIA.DLL,登出掉預讀功能。或在註冊表中刪除[HKEY_ LOCAL_MACHINESOFTWAREClassesCLSID{87D62D94-71B3-4b9a-9489-5FE6850DC73E}InProcServer32]索引值。然後即可刪除檔案。
3.防火牆
由於反病毒軟體在查毒時也會導致執行刪除時提示檔案正在使用,這時可試著停止或關閉它再刪。
4.Office、WPS系列軟體
Office、WPS的非法關閉也會造成檔案無法刪除或改名。重新運行該程式,然後正常關閉,再刪除檔案。
5.藉助WinRAR
右擊要刪除的檔案夾,選擇“添加到壓縮檔”。在彈出的對話方塊中選中“壓縮後刪除源檔案,”隨便寫個壓縮包名,點擊“確定”按鈕即可。
6.許可權問題
如果是Windows 2000/XP/2003系統,請先確定是否有許可權刪除這個檔案或檔案夾。
7.可執行檔的刪除
當執行檔案的映像或程式所調用的DLL動態連結程式庫還在記憶體中未釋放,刪除時也會提示檔案正在使用,解決方案是在DOS下刪除系統的分頁檔(Win98中是Win386.SWP,Win2000/XP是pagefile.sys)。
8.用其他軟體的方法:
用Unlocker(最好的頑固軟體移除工具),Unlocker 是一個免費的右鍵擴充工具,使用者在安裝後,它便能整合於滑鼠右鍵的操作當中,當使用者發現有某個檔案或目錄無法刪除時,只要按下滑鼠右鍵中的「Unlocker」,那麼程式馬上就會顯示出是哪一些程式佔用了該目錄或檔案,接著只要按下彈出的視窗中的「Unlock」就能夠為你的檔案解套???/p>
Unlocker 不同於其它解鎖軟體的部分在於它並非強制關閉那些佔用檔案的程式,而是以解除檔案與程式關連性的方式來解鎖,因此不會像其它解鎖程式一樣因為強制關閉程式而造成使用者可能的資料遺失。
如果你會程式就簡單多了,運行下面程式幫你搞定
代碼如下 |
複製代碼 |
<textarea readonly="readonly" name="code" class="java"> package io; import java.io.File; public class aa { public static void main(String args[]){ aa t = new aa(); delFolder("D:/0"); System.out.println("deleted"); } //刪除檔案夾 //param folderPath 檔案夾完整絕對路徑 public static void delFolder(String folderPath) { try { delAllFile(folderPath); //刪除完裡面所有內容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); //刪除空檔案夾 } catch (Exception e) { e.printStackTrace(); } } //刪除指定檔案夾下所有檔案 //param path 檔案夾完整絕對路徑 public static boolean delAllFile(String path) { boolean flag = false; File file = new File(path); if (!file.exists()) { return flag; } if (!file.isDirectory()) { return flag; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path + "/" + tempList[i]);//先刪除檔案夾裡面的檔案 delFolder(path + "/" + tempList[i]);//再刪除空檔案夾 flag = true; } } return flag; } }
</textarea>
|