Board logo

标题: [求助]For 命令设置参数的问题 [打印本页]

作者: zdgfaa11     时间: 2010-1-22 23:01    标题: [求助]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

实现,效率好低,怎么用一条语句实现。
作者: HAT     时间: 2010-1-23 00:18

for /f "delims=/ tokens=1-3" %%i in (a.txt) do (set a1=%%i & set a2=%%j & set a3=%%k)

作者: zdgfaa11     时间: 2010-1-23 07:18
好的,谢谢了。再问一下是不是一定要在文件中才好,在变量中可以吗
假设变量 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 ]
作者: zdgfaa11     时间: 2010-1-23 12:30
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 ]