簡體   English   中英

批處理Windows 7:循環讀取文本文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM