voltas
voltas

Reputation: 563

Loop thru each line using batch

I'm trying to read a file - sample.txt, take the value (line by line) and change to that corresponding value's folder using a loop.

sample.txt

foo
bar
alpha
bravo
..
..

Eg: D:\myProject\myWork\foo\myFiles D:\myProject\myWork\bar\somenewFolder

What I came up with

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

but the folder's value is empty. I'm not sure where I have went wrong. Any ideas, thank you.

Upvotes: 1

Views: 35

Answers (1)

npocmaka
npocmaka

Reputation: 57252

you need a delayed expansion:

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

Upvotes: 1

Related Questions