中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 20:51
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 急!批处理和命令行得到不同的结果,for命令
可打印版本  698 / 3
第1楼 jiecy 发表于 2007-06-04 15:53
初级用户 发帖 9 积分 27
急!批处理和命令行得到不同的结果,for命令
在命令行下,用:
for /f "tokens=2 delims= " %r in ('type receiver.txt ^|find "y"') do echo %r
可以正确执行,得到回显“192.168.0.139”

但在批处理中,用:
for /f "tokens=2 delims= " %r in ('type receiver.txt ^|find "%1"') do echo %r
这里的%1是"y",提示错误,我认为是%1的双引号在批处理里需要特别书写,但用^"还是不对

----------------------------------------------------
receiver.txt 内容:
y 192.168.0.139
m 192.168.0.77
z 192.168.0.21
第2楼 lxmxn 发表于 2007-06-04 16:26
版主 发帖 4,938 积分 11,386
批处理中,for 的%r参数用%%r来替代。
第3楼 HAT 发表于 2007-06-04 20:29
版主 发帖 5,017 积分 9,023
《批处理基础教程》中的内容

在批处理文件中使用FOR命令时
指定变量请使用%%variable
第4楼 jiecy 发表于 2007-06-05 11:07
初级用户 发帖 9 积分 27
谢谢!读帮助的时候啥都记得,用的时候丢三拉四,谢谢lxmxn和HAT!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023