中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 19:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 急!批处理和命令行得到不同的结果,for命令
楼 主 急!批处理和命令行得到不同的结果,for命令 发表于 2007-06-04 15:53 ·  中国 河南 焦作 联通
初级用户
积分 27
发帖 9
注册 2007-05-29 17:30
UID 89675
性别 女
状态 离线
在命令行下,用:
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 发表于 2007-06-04 16:26 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线
批处理中,for 的%r参数用%%r来替代。
3 发表于 2007-06-04 20:29 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
《批处理基础教程》中的内容

在批处理文件中使用FOR命令时
指定变量请使用%%variable
4 发表于 2007-06-05 11:07 ·  中国 河南 焦作 联通
初级用户
积分 27
发帖 9
注册 2007-05-29 17:30
UID 89675
性别 女
状态 离线
谢谢!读帮助的时候啥都记得,用的时候丢三拉四,谢谢lxmxn和HAT!
论坛跳转: