2013-08-27 90 views
2

我想讀取文件的每行兩個不同的字段,並將這些字段分配給兩個不同的變量,以便我可以在for循環中一起使用這兩個變量。批處理文件多個標記多個變量

現在我有

for /f "tokens=6 delims=:. " %%a in ('type %1% ^| findstr /R /V "Test"') do (
echo %%a 
) 

for /f "tokens=12 delims=:. " %%b in ('type %1% ^| findstr /R /V "Test"') do (
echo %%b 
) 

反正是有將它們組合成類似

for /f "tokens=6,12 delims=:. " %%a %%b in ('type %1% ^| findstr /R /V "Test"') do (
echo %%a 
echo %%b 
) 

因爲現在這種說法是行不通的。

回答

4

這應該工作:

for /f "tokens=6,12 delims=:. " %%a in ('type "%~1" ^| findstr /R /V "Test"') do (
    echo %%a 
    echo %%b 
) 

這可以簡化爲

for /f "tokens=6,12 delims=:. " %%a in ('findstr /V "Test" "%~1"') do (
    echo %%a 
    echo %%b 
) 

因爲findstr可以從文件就好了閱讀,你沒有使用正則表達式反正。