批处理 - For循环 - 将每个结果保存为变量?

时间:2017-07-12 15:28:48

标签: loops batch-file variables

我有这个temp2.​​txt文件:

name              : XXX1
name              : XXX2

我希望在":"之后得到每个单词。保存为单独的变量,以便我可以使用命令进一步处理它们。

我正在尝试:

for /f "tokens=1,2 delims=: " %%a in (C:\temp\temp2.txt) do (
set userloop1=%%b
set userloop2=%%b
)


echo %userloop1%
echo %userloop2%

pause

循环有效,但每个变量都包含循环的最后一次出现,即XXX2。

我想让userloop1返回XXX1,userloop2重新调整XXX2。如何调整循环才能使其正常工作?

非常感谢你!

1 个答案:

答案 0 :(得分:1)

delayed expansion下使用迭代器:

setlocal enableDelayedExpansion
set iterator=1
for /f "tokens=1,2 delims=: " %%a in (C:\temp\temp2.txt) do (
  set userloop!iterator!=%%b
  set /a iterator=iterator+1
)


echo %userloop1%
echo %userloop2%