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

[其他] 批处理如何全盘搜索畸形文件夹?

下面的代码是全盘搜索畸形文件夹的,我已经测试成功,问题是我单行执行for这条的时候就能在1.txt里面看得到C:\1.   C:\2. 如果按下面那个来执行的话就看不到1.txt里面什么内容都没有2.txt里面也只有
  1. rd /s /q \\?\
复制代码
这一条为什么会搜索不到的,是不是我之前没有建立1..\和2..\的缘故?是不是ALLDRIVE这个变量太多呢,这种问题老是会发生莫名其妙的,有谁能给我个回答呢
  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%^">2.txt
  5. echo del bat.bat>>2.txt
复制代码

请用大家看得懂的语句进行提问,谢谢。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

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. set /p var=<1.txt                                 
  4. echo rd /s /q \\?\^"%var%^">1001.bat                    提取第一条内容写入1001.txt
  5. echo del 1.txt>>1001.bat                                         写入1001.bat删除1.txt
  6. echo del 1001.bat>>1001.bat                                写入1001.bat删除1001.bat
  7. 1001.bat                                                                     运行1001.bat
复制代码
这个批处理每运行一次删除一个..\的畸形文件夹,水平有限也只能写出这样的,虽然麻烦点。。

TOP

代码还是框起来吧!


另外,在批处理中有注释的命令,如:REM

TOP

......还是看不懂吗
就是一个搜索..\畸形文件夹的嘛例如C盘下1..\的,在XP下显示的文件夹名是1.不能正常删除进入
然后有个牛B命令rd /s /q \\?\后面跟的是完整路径,这个命令貌似可以删除任何文件夹换成DEL的话可以删除任何文件
主要问题是出在搜索上面,搜索不到我在C目录下建立的畸形文件夹
如果这句for %%i in (%alldrive%) do if exist %%i:\ dir /ad /s /b %%i:\|(findstr /e "\.")
改成for %%i in (c) do if exist %%i:\ dir /ad /s /b %%i:\|(findstr /e "\.") 的话就可以找到

TOP

。。。。。。我明白了,为什么我的1.TXT是空白的了最后次执行是Z盘的,而结果肯定是空的,我语句后面是>所以清空写入的话,就是空白的了

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. 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
复制代码
作用是删除以.结尾的文件夹,也就是畸形文件夹,下次会做的更好,我还要再次加入其它的畸形文件夹搜索,如果管理员有办法让这个批处理能一次删除找出来的畸形文件夹的话请帮助我

TOP

返回列表