![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 05:51 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]帮助分析查找指定日期的文件代码错在哪里? |
| 可打印版本 1,730 / 16 |
| 第1楼 tempuser | 发表于 2008-10-29 21:32 |
| 高级用户 发帖 261 积分 547 | |
|
[求助]帮助分析查找指定日期的文件代码错在哪里? 代码如下:
@echo off :finddate cls set /p fdate=请输入查询日期(例:2008-10或2008-10-18) set /p fname=请输入查询文件类型(例:.exe或.bat) for %%a in (c: d:) do ( for /r %%a\ %%b in ('dir /a /s /b %fname% | findstr /tc /4 %fdate%') do ( echo %%b >>test.txt start test.txt ) ) pause goto finddate |
|
| 第2楼 HAT | 发表于 2008-10-30 00:18 |
| 版主 发帖 5,017 积分 9,023 | |
|
把@echo off删除
看看运行结果 如果还是不明白就把结果贴出来请人帮忙 |
|
| 第3楼 terse | 发表于 2008-10-30 00:30 |
| 银牌会员 发帖 946 积分 2,404 | |
|
|前加^
|
|
| 第4楼 tempuser | 发表于 2008-10-30 10:03 |
| 高级用户 发帖 261 积分 547 | |
|
把@echo off去掉后执行,先后显示要求输入查询日期和查询类型文件,我分别输入:
2008-10 .bat 之后就是一闪退出批处理执行的CMD窗口,实在是没有其它什么现象。 另外,我已经在 |前加了转义字符^,不行。 |
|
| 第5楼 HAT | 发表于 2008-10-30 10:11 |
| 版主 发帖 5,017 积分 9,023 | |
|
把@echo off去掉
代码保存为C:\test.bat 开始 运行 cmd C:\test.bat 结果如何? |
|
| 第6楼 tireless | 发表于 2008-10-30 10:28 |
| 银牌会员 发帖 1,122 积分 2,025 | |
|
感觉干这事速度比较慢,不如用 Windows 自带的搜索。
|
|
| 第7楼 tempuser | 发表于 2008-10-30 11:02 |
| 高级用户 发帖 261 积分 547 | |
|
照做了,以下是测试问题:
1.CMD下提示第2个for语句不应有%%a\,它多余了,去掉它。 2.再测试,提示不应有:|,嘿!又忘加^了,加上。 3.再测试,嘿,CMD一直滚屏,不断打开记事本,发现start test.txt放在了不应该放的for循环中,把它提到for循环外。 4.在测试,没有错误提示了,但CMD窗口一直在滚动,模糊看到 echo ,应该是 echo %%b >>test.txt发生作用,但它为什么不停啊!我执行的查找2008-10在C盘下建立的.bat文件,后来我实在没有办法,ctrl+c强行终止它,发现test.txt文本内容是很乱,根本没有我要找的.bat,我摘取其部分内容,如下: C:\'dir C:\/a C:\/s C:\/b C:\.exe C:\| C:\findstr C:\/tc C:\/4 C:\2008-10' C:\BIOSME\'dir C:\BIOSME\/a C:\BIOSME\/s C:\BIOSME\/b C:\BIOSME\.exe C:\BIOSME\| C:\BIOSME\findstr C:\BIOSME\/tc C:\BIOSME\/4 C:\BIOSME\2008-10' C:\COMPAQ\'dir C:\COMPAQ\/a C:\COMPAQ\/s C:\COMPAQ\/b C:\COMPAQ\.exe C:\COMPAQ\| C:\COMPAQ\findstr C:\COMPAQ\/tc C:\COMPAQ\/4 C:\COMPAQ\2008-10' C:\COMPAQ\AClient\'dir C:\COMPAQ\AClient\/a C:\COMPAQ\AClient\/s C:\COMPAQ\AClient\/b C:\COMPAQ\AClient\.exe C:\COMPAQ\AClient\| C:\COMPAQ\AClient\findstr C:\COMPAQ\AClient\/tc C:\COMPAQ\AClient\/4 C:\COMPAQ\AClient\2008-10' C:\COMPAQ\Acrobat_Reader\'dir C:\COMPAQ\Acrobat_Reader\/a C:\COMPAQ\Acrobat_Reader\/s C:\COMPAQ\Acrobat_Reader\/b C:\COMPAQ\Acrobat_Reader\.exe C:\COMPAQ\Acrobat_Reader\| C:\COMPAQ\Acrobat_Reader\findstr C:\COMPAQ\Acrobat_Reader\/tc C:\COMPAQ\Acrobat_Reader\/4 C:\COMPAQ\Acrobat_Reader\2008-10' C:\COMPAQ\Audio\'dir C:\COMPAQ\Audio\/a C:\COMPAQ\Audio\/s C:\COMPAQ\Audio\/b C:\COMPAQ\Audio\.exe C:\COMPAQ\Audio\| C:\COMPAQ\Audio\findstr C:\COMPAQ\Audio\/tc C:\COMPAQ\Audio\/4 C:\COMPAQ\Audio\2008-10' C:\COMPAQ\Audio\Realtek\'dir C:\COMPAQ\Audio\Realtek\/a C:\COMPAQ\Audio\Realtek\/s C:\COMPAQ\Audio\Realtek\/b C:\COMPAQ\Audio\Realtek\.exe C:\COMPAQ\Audio\Realtek\| C:\COMPAQ\Audio\Realtek\findstr C:\COMPAQ\Audio\Realtek\/tc C:\COMPAQ\Audio\Realtek\/4 C:\COMPAQ\Audio\Realtek\2008-10' C:\COMPAQ\Audio\Realtek\Config\'dir C:\COMPAQ\Audio\Realtek\Config\/a C:\COMPAQ\Audio\Realtek\Config\/s C:\COMPAQ\Audio\Realtek\Config\/b C:\COMPAQ\Audio\Realtek\Config\.exe C:\COMPAQ\Audio\Realtek\Config\| C:\COMPAQ\Audio\Realtek\Config\findstr C:\COMPAQ\Audio\Realtek\Config\/tc C:\COMPAQ\Audio\Realtek\Config\/4 C:\COMPAQ\Audio\Realtek\Config\2008-10' C:\COMPAQ\Audio\Realtek\WDM\'dir C:\COMPAQ\Audio\Realtek\WDM\/a C:\COMPAQ\Audio\Realtek\WDM\/s C:\COMPAQ\Audio\Realtek\WDM\/b C:\COMPAQ\Audio\Realtek\WDM\.exe C:\COMPAQ\Audio\Realtek\WDM\| C:\COMPAQ\Audio\Realtek\WDM\findstr C:\COMPAQ\Audio\Realtek\WDM\/tc C:\COMPAQ\Audio\Realtek\WDM\/4 C:\COMPAQ\Audio\Realtek\WDM\2008-10' C:\COMPAQ\chipset\'dir C:\COMPAQ\chipset\/a C:\COMPAQ\chipset\/s C:\COMPAQ\chipset\/b C:\COMPAQ\chipset\.exe C:\COMPAQ\chipset\| C:\COMPAQ\chipset\findstr C:\COMPAQ\chipset\/tc C:\COMPAQ\chipset\/4 C:\COMPAQ\chipset\2008-10' C:\COMPAQ\DotNet\'dir C:\COMPAQ\DotNet\/a C:\COMPAQ\DotNet\/s C:\COMPAQ\DotNet\/b C:\COMPAQ\DotNet\.exe C:\COMPAQ\DotNet\| C:\COMPAQ\DotNet\findstr C:\COMPAQ\DotNet\/tc C:\COMPAQ\DotNet\/4 C:\COMPAQ\DotNet\2008-10' C:\COMPAQ\Drivers\'dir C:\COMPAQ\Drivers\/a 请帮我指正错误。 |
|
| 第8楼 HAT | 发表于 2008-10-30 11:26 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 7楼 请养成一个好习惯:把最新的代码更新到顶楼。
否则别人想帮你,还得copy顶楼的代码再根据你每个楼层的描述修改,是不是很浪费时间呢? |
|
| 第9楼 terse | 发表于 2008-10-30 11:52 |
| 银牌会员 发帖 946 积分 2,404 | |
|
findstr /tc /4 参数问题哦
|
|
| 第10楼 tempuser | 发表于 2008-10-30 14:06 |
| 高级用户 发帖 261 积分 547 | |
|
怎么才能再将1楼的代码更新呢?
|
|
| 第11楼 kgdetg1127 | 发表于 2008-10-30 14:24 |
| 初级用户 发帖 89 积分 158 | |
|
点右边的编辑,
|
|
| 第12楼 HAT | 发表于 2008-10-30 14:59 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 10楼 » HAT: 登出 | 短消息 | 我的话题 | 控制面板 | 系统设置 | 命令行 | 会员 | 搜索 | 上传 | 统计 | 帮助
|
|
| 第13楼 terse | 发表于 2008-10-30 15:32 |
| 银牌会员 发帖 946 积分 2,404 | |
|
改一下
|
|
| 第14楼 tempuser | 发表于 2008-10-30 17:20 |
| 高级用户 发帖 261 积分 547 | |
|
成功了,谢谢!
不过我还有转义字符的问题? 1.为什么要在|前加^呢?转义字符不是要取消特殊符号的功能吗?而我需要|执行特定的功能! 2.^%fdate%又是什么意思呢?用%fdate%不就可以识别这个变量了吗?如果加为什么不是^%fdate^%呢?后面的%就不需要转义了吗? |
|
| 第15楼 tireless | 发表于 2008-10-30 17:43 |
| 银牌会员 发帖 1,122 积分 2,025 | |
Re 142.^%fdate%又是什么意思呢?用%fdate%不就可以识别这个变量了吗?如果加为什么不是^%fdate^%呢?后面的%就不需要转义了吗? ^ 表示在行首进行匹配。具体请看 findstr /? 的帮助。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |