[英]batch windows 7: loop to read a text file
我有一個像這樣的文本文件:
info1子信息1
info2子信息2
info3子信息3
我必須使用這些信息在命令上執行循環。 我這樣做:
for /F "tokens=1,2" %%a in (%cd%\%SCANS%) do (
set stack=%%a
set orientation=%%b
command1 -i test -o test -option1 %stack% -option2 %orientation%
)
沒用 選項始終相同。
確實,如果我這樣做:
for /F "tokens=1,2" %%a in (%cd%\%SCANS%) do (
set stack=%%a
set orientation=%%b
echo %%a
echo %%b
echo %stack%
echo %orientation%
)
我有這個:
info1_lr
軸向的
info2_lr
矢狀
info3_lr
冠
info2_lr
矢狀
info2_lr
矢狀
info2_lr
矢狀
那正常嗎?
是。 絕對。
請使用搜索工具查找有關Stack Overflow delayed expansion
信息。 推理和解決方案就在那里-這個問題已經被回答了數百次。
所以這是我的做法:
for /F "tokens=1,2" %%a in (%cd%\%SCANS%) do (
setlocal enabledelayedexpansion
set stack=%%a
set orientation=%%b
echo %%a
echo %%b
echo !stack!
echo !orientation!
endlocal
)
在看了延遲的表情之后,它幾乎對我有用。
除了我與“增加”變量的方式存在沖突之外:
set cmdIntensityNLM=%cmdIntensityNLM% -i %RESULTS%/!stack!_blabla_%ITER%.nii.gz -o %RESULTS%/!stack!_blabla_%ITER%.nii.gz
我添加將其更改為:
set cmdIntensityNLM=!cmdIntensityNLM! -i %RESULTS%/!stack!_blabla_%ITER%.nii.gz -o %RESULTS%/!stack!_blabla_%ITER%.nii.gz
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.