找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22417|回复: 2

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

[复制链接]
发表于 2014-1-15 17:29:39 | 显示全部楼层 |阅读模式
嗨大家好!新手又来提问了!

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呢?

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

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-1-15 19:34:10 | 显示全部楼层

  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-1-16 07:19:00 | 显示全部楼层
回复 2# xxpinqz


    万分感谢!又学到新东西了 set /a n+=1&echo %%a
    原来可以用set /a 来做一个数学的运算同时用&连接echo!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:02 , Processed in 0.030412 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表