中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-15 10:35
47,813 主题排行 / 349,903 发帖 / 今日 1 篇 / 48,257 会员排行
DOS疑难解答 & 问题讨论 (解答室) » [求助]For 命令设置参数的问题
可打印版本  1,123 / 3
第1楼 zdgfaa11 发表于 2010-01-22 23:01
新手上路 发帖 6 积分 13
[求助]For 命令设置参数的问题
假设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楼 HAT 发表于 2010-01-23 00:18
版主 发帖 5,017 积分 9,023
第3楼 zdgfaa11 发表于 2010-01-23 07:18
新手上路 发帖 6 积分 13
好的,谢谢了。再问一下是不是一定要在文件中才好,在变量中可以吗
假设变量 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楼 zdgfaa11 发表于 2010-01-23 12:30
新手上路 发帖 6 积分 13
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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023