批处理文件多个标记多个变量

问题描述:

我想读取文件的每行两个不同的字段,并将这些字段分配给两个不同的变量,以便我可以在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 
) 

因为现在这种说法是行不通的。

这应该工作:

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可以从文件就好了阅读,你没有使用正则表达式反正。