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

[文本处理] [已解决]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呢?

希望有大神可以替我解惑!万分感谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
白天不懂夜的黑,没用过bat不知道bat的猛。

  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
复制代码
1

评分人数

初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 2# xxpinqz


    万分感谢!又学到新东西了 set /a n+=1&echo %%a
    原来可以用set /a 来做一个数学的运算同时用&连接echo!
白天不懂夜的黑,没用过bat不知道bat的猛。

TOP

返回列表