![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 09:26 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怪事,FOR循环竟然会跳到文件开始…… |
| 可打印版本 678 / 7 |
| 第1楼 Vampire | 发表于 2008-01-31 19:48 |
| 初级用户 发帖 78 积分 176 | |
|
怪事,FOR循环竟然会跳到文件开始…… @echo off
echo Input the find string: set /p fndstr=String: for /f "delims=" %%a in ('dir /s/b .\*.java') do ( findstr /i /n "%fndstr%" "%%a" echo %%a echo ------------------------------------------------------ ) echo result was in file「findrst.txt」,please see there.... pause 请问各位达人,这是为何啊。想不通。。。 |
|
| 第2楼 Vampire | 发表于 2008-01-31 19:57 |
| 初级用户 发帖 78 积分 176 | |
|
晕,这会没人吗?只好明天来看看结果了。
拜托啦。 |
|
| 第3楼 fastslz | 发表于 2008-01-31 23:47 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
代码没问题呀,如果*.java不是文本文件,怪事就不怪了
strings.exe "%%a"|findstr /i /n "%fndstr%" http://www.microsoft.com/technet/sysinternals/miscellaneous/strings.mspx |
|
| 第4楼 Vampire | 发表于 2008-02-01 13:37 |
| 初级用户 发帖 78 积分 176 | |
如果*.java不是文本文件,怪事就不怪了 可否详细解释下呢?谢谢。 |
|
| 第5楼 Vampire | 发表于 2008-02-01 14:01 |
| 初级用户 发帖 78 积分 176 | |
|
在CMD里面运行那句话可以出结果,但是在批处理中就不行了。谁能告诉下个中乾坤啊。万分感激呢。
|
|
| 第6楼 slore | 发表于 2008-02-01 14:05 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
貌似unicode作怪
看那个e文说明,不是很懂。。。大概就是有些unicode的字符好像处理会有问题。。 |
|
| 第7楼 Vampire | 发表于 2008-02-01 15:46 |
| 初级用户 发帖 78 积分 176 | |
|
直接在CMD下运行FOR循环不会出错。又是为何?他们应该是同一级别的吧,这个应该不涉及延时之类的因素吧。
|
|
| 第8楼 slore | 发表于 2008-02-01 15:49 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
那就是输出可能牵扯到吧。
C:\Documents and Settings\ayumi>cmd /? 启动 Windows XP 命令解释程序一个新的实例 CMD string] /C 执行字符串指定的命令然后终断 /K 执行字符串指定的命令但保留 /S 在 /C 或 /K 后修改字符串处理(见下) /Q 关闭回应 /D 从注册表中停用执行 AutoRun 命令(见下) /A 使向内部管道或文件命令的输出成为 ANSI /U 使向内部管道或文件命令的输出成为 Unicode 你改变下/U参数。。。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |