使用批处理循环每一行

时间:2017-12-22 09:41:06

标签: windows batch-file

我正在尝试读取一个文件 - sample.txt,取值(逐行)并使用循环更改为该对应值的文件夹。

sample.txt

foo
bar
alpha
bravo
..
..

例如:D:\ myProject \ myWork \ foo \ myFiles      d:\ myProject的\ MYWORK \条\ somenewFolder

我想出了什么

for /f "delims=" %%x in (sample.txt) do (
 set value=%%x
 set folder=D:\myProject\myWork\%value%\somenewFolder
 echo %folder%
 )

但文件夹的值为空。我不确定我哪里出错了。任何想法,谢谢。

1 个答案:

答案 0 :(得分:1)

您需要delayed expansion

setlocal enableDelayedExpansion
for /f "delims=" %%x in (sample.txt) do (
 set "value=%%x"
 set folder=D:\myProject\myWork\!value!\somenewFolder
 echo !folder!
 )