删除文件夹时出现问题,无法删除文件夹!
再仔细检查发现没有任何问题,但是就是莫名其妙的删除不掉。再一层一层检查,到最后发现双击文件夹后出现提示:无法访问此文件夹 路径太长。
看了其他人说的办法,其实都不是很好使,即使采用了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> |