我在将参数传递给批处理文件时遇到问题。参数文件将有 n 行,我想执行 bacth 以读取第一行,将其作为 .bat 中的参数并执行。读取下一行它作为第二个参数再次执行。同样,如果它在文本文件中找到 n 行,它应该执行 n 次。(例如,如果文本文件有 100 行,则 .bat 中的循环执行应该继续 100 次)。我有类似的脚本,
@echo off
setlocal enabledelayedexpansion
set file1=D:\Batch\parm.txt
set /a cnt=0
for /f "tokens=*" %%a in (%file1%) do (
set %file1% =%%a
echo !%file1%!
)
FOR /F "tokens=1 delims=|" %%G IN (%file1%) DO set a1=%%G
FOR /F "tokens=2 delims=|" %%K IN (%file1%) DO set a2=%%K
FOR /F "tokens=3 delims=|" %%I IN (%file1%) DO set a3=%%I
echo parameter file found
echo reading parameters to pass through
echo (%a1%,%a2%,%a3%)>>D:\Batch\output.txt
goto break
:break
set /a cnt+=1
exit /b
我的参数文件输入为
"India"|"Australia"|"Africa"
"I1"|"A1"|"A11"
"I2"|"A2"|"A12"
我的输出应该是:
找到参数文件
读取参数通过
“印度”、“澳大利亚”、“非洲”
找到参数文件
读取参数通过
"I1","A1","A11"
找到参数文件
读取参数通过
"I2","A2","A12"
我目前只得到最后一个参数作为输出。请帮助我更正脚本。