[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件管理] 批处理自动搜索删除畸形文件夹

  1. set alldrive=a b c d e f g h i j k l m n o p q r s t u v w x y z
  2. for %%i in (%alldrive%) do if exist %%i:\ dir /ad /s /b %%i:\|(findstr /e "\.") >>1.txt
  3. set /p var=<1.txt
  4. echo rd /s /q \\?\^"%var%^">1001.bat
  5. echo del 1.txt>>1001.bat
  6. echo del 1001.bat>>1001.bat
复制代码
这个批处理是自己写的,仅供大家参考学习,这个批处理有个缺点就是一次只能删除一个畸形文件夹,以后有机会的话做完善点,现在只能找以.结尾的畸形文件夹
至于。。畸形文件夹,大家可以去百度找资料,只要以.为后缀的文件夹都可以删除
谨慎使用,rd /s /q \\?\这句命令很可能删除你本来不想删除的文件,所以。。。

恩。。。貌似少了一句话
最后加上
1001.bat
就行了否则的话不会执行了就。。

TOP

刚才简化了下,也变得不是一次只删除一个了(可以一次性删完了。。。),不过没有经过测试
  1. set alldrive=a b c d e f g h i j k l m n o p q r s t u v w x y z
  2. for %%i in (%alldrive%) do if exist %%i:\ dir /ad /s /b %%i:\|( findstr /e "\.") >>1.txt
  3. for /f %%z in (1.txt) do (rd /s /q \\?\"%%z")
  4. del 1.txt
复制代码
有什么不对的请多指正谢谢

TOP

上面的经测试,貌似不能删除带空格的文件夹下的畸形文件夹
例:C:\Documents and Settings\下的1..\
下面是修改过的,附带加上了搜索Con, Prn, Aux, Nul, Lpt1, Com1, Com2类文件夹
  1. set alldrive=a b c d e f g h i j k l m n o p q r s t u v w x y z
  2. for %%i in (%alldrive%) do if exist %%i:\ dir /ad /s /b %%i:\|( findstr /e /i "\. \con \Prn \Aux \Nul \Lpt1 \Com1 \Com2") >>1.txt
  3. for /f "delims=" %%i in (1.txt) do (rd /s /q \\?\"%%i")
  4. del 1.txt
复制代码

TOP

太感谢楼主了。
我现在两个硬盘共1500G
所有磁盘的根目录字母全部生成带.的记性文件夹,痛不欲生啊,看到你的批处理很兴奋,想请教下楼主,如果正常的带.文件夹会不会被删除,比如命名为2010.01.2。

TOP

明天来看楼主的回复,太感谢了。

TOP

如果是那种由软件产生的拒绝访问的畸形文件夹可以吗

TOP

返回列表