Board logo

标题: [文本处理] [已解决]BAT批处理如何查找特定字符并输出DIR显示的文件列表? [打印本页]

作者: chuyizhou    时间: 2014-1-15 17:29     标题: [已解决]BAT批处理如何查找特定字符并输出DIR显示的文件列表?

嗨大家好!新手又来提问了!

BAT脚本的编写这几天真是如火如荼的进行啊!真的提高了很多工作效率!

今天下午找了许多资料准备写一个BAT,希望可以输出C:\x\y\z路径下的01/15/2014的.txt文件。
  1. set year=%date:~0,4%
  2. set month=%date:~5,2%
  3. set day=%date:~8,2%
  4. echo %month%/%day%/%year%
  5. for /f "delims=" %%a in ('dir C:\x\y\z\*.txt^|findstr -ir %month%/%day%/%year%') do echo %%a
复制代码
以上是研究后的代码,也运行正常。但是呢,问题来了,我想在此基础上更近一步,输出到底有几个01/15/2014的.txt文件被咱们在C:\x\y\z目录下找到了。

我想到了笨方法,将输出重定向到FILE.txt中再用下面这个得出答案。
  1. find -c -v "" FILE.txt
复制代码
于是问题是,请问有没有更简便的方式,直接在cmd.exe黑框里输出一个数字,告诉我们有几个文件或者第一个代码有几行output呢?

希望有大神可以替我解惑!万分感谢!
作者: xxpinqz    时间: 2014-1-15 19:34

  1. for /f "delims=" %%a in ('dir C:\x\y\z\*.txt^|findstr -ir %month%/%day%/%year%') do set/a n+=1&echo %%a
  2. echo,共%n%个文件
  3. pause
复制代码

作者: chuyizhou    时间: 2014-1-16 07:19

回复 2# xxpinqz


    万分感谢!又学到新东西了 set /a n+=1&echo %%a
    原来可以用set /a 来做一个数学的运算同时用&连接echo!




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