中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-15 13:11
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]For 命令设置参数的问题 查看 1,126 回复 3
楼 主 [求助]For 命令设置参数的问题 发表于 2010-01-22 23:01 ·  中国 江苏 苏州 电信
新手上路
积分 13
发帖 6
注册 2010-01-01 17:05
16年会员
UID 157748
性别 男
状态 离线
假设tmp文件中只有一行内容 1/2/3
要把1 2 3分别分配给变量a1 a2 a3
用for /f "delims=/ tokens=1,2,3" %%i in (tmp) do set a1=%%i a2=%%j a3=%%k
不能达到预期,只能用三条语句
for /f "delims=/ tokens=1,2,3" %%i in (tmp) do set a1=%%i
for /f "delims=/ tokens=1,2,3" %%i in (tmp) do set a2=%%j
for /f "delims=/ tokens=1,2,3" %%i in (tmp) do set a3=%%k

实现,效率好低,怎么用一条语句实现。
2 发表于 2010-01-23 00:18 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线

for /f "delims=/ tokens=1-3" %%i in (a.txt) do (set a1=%%i & set a2=%%j & set a3=%%k)
3 发表于 2010-01-23 07:18 ·  中国 江苏 常州 电信
新手上路
积分 13
发帖 6
注册 2010-01-01 17:05
16年会员
UID 157748
性别 男
状态 离线
好的,谢谢了。再问一下是不是一定要在文件中才好,在变量中可以吗
假设变量 set tmp=1/2/3
要把1 2 3分别分配给变量a1 a2 a3
用for /f "delims=/ tokens=1,2,3" %%i in ("%tmp%") do set a1=%%i & a2=%%j & a3=%%k
只出a1=1,a2 a3未赋值,能帮忙看一下吗?

[ Last edited by zdgfaa11 on 2010-1-23 at 12:25 ]
4 发表于 2010-01-23 12:30 ·  中国 江苏 苏州 电信
新手上路
积分 13
发帖 6
注册 2010-01-01 17:05
16年会员
UID 157748
性别 男
状态 离线
for /f "delims=/ tokens=1,2,3" %%i in ("%tmp%") do set a1=%%i
for /f "delims=/ tokens=1,2,3" %%i in ("%tmp%") do set a2=%%j
for /f "delims=/ tokens=1,2,3" %%i in ("%tmp%") do set a3=%%k

单独设置都是成功的,想把三句合成一句,要怎么写呢?

for /f "delims=/ tokens=1,2,3" %%i in ("%tmp%") do set a1=%%i &set a2=%%j &set a3=%%k
解决了

[ Last edited by zdgfaa11 on 2010-1-23 at 12:34 ]
论坛跳转: