Board logo

标题: [文件操作] 批处理,如何找出许多没有“XXX.jpg”文件 所在的文件夹。 [打印本页]

作者: kmustwxw    时间: 2014-4-19 18:27     标题: 批处理,如何找出许多没有“XXX.jpg”文件 所在的文件夹。

说明:一个目录下有多个文件夹,我想找出不含有 宗地图,jpg这个文件的文件夹,并把不含有“XXX.jpg”文件的文件夹的路径写到一个txt中,如何完成,请高手指教。
作者: xxpinqz    时间: 2014-4-19 20:07

本帖最后由 xxpinqz 于 2014-4-19 20:12 编辑

http://www.bathome.net/thread-29796-1-1.html
重复发帖还是两种要求?
1、删除
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in ('dir /b/s/ad^|sort /r') do (  
  3.     if exist "%%a\*宗地图*.jpg" (
  4.     set "dst=%%~dpa"
  5.     ) else (
  6.         if /I not "%%~a\"=="!dst!" set "dst="
  7.     )
  8.     if not defined dst echo,rd /q "%%a"
  9. ))
  10. pause
复制代码
2、输出
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%a in ('dir /b/s/ad^|sort /r') do (  
  3.     if exist "%%a\*宗地图*.jpg" (
  4.     set "dst=%%~dpa"
  5.     ) else (
  6.         if /I not "%%~a\"=="!dst!" set "dst="
  7.     )
  8.     if not defined dst echo,"%%a"
  9. ))>no.txt
  10. pause
复制代码

作者: terse    时间: 2014-4-20 01:53

感觉楼主的意思是这样 理解错了?
  1. @echo off
  2. (for /f "delims=" %%i in ('dir /b/s/ad') do if not exist "%%i\*宗地图.jpg" if not exist "%%i\xxx.jpg" echo,%%i)>no.txt
  3. pause
复制代码

作者: kmustwxw    时间: 2014-4-20 08:55

非常感谢,两位高手的指教,太感谢你们了,向你们学习,上面是我太粗心了,表述有问题,那个“宗地图.jpg”和“XXX,jpg”是同一个文件,写的时候没有统一,再次感谢你们。
向你们学习,我也在学习,但是好像找不着学习这个的方法,像无头苍蝇一样,你们能给我点建议吗??谢谢。
作者: xxpinqz    时间: 2014-4-20 15:13

把“批处理教程&资料”版块的几个置顶贴看完就会了,顺便抽空做下“新手练功区”。我去年就这么学的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2