我正在尝试编写一个从ini文件中提取参数值的批处理。问题是这个for循环迭代两次:
call:ini DW_LOADER_FeedsRootDir UDM_Folder
:ini
for /f "tokens=2 delims==" %%U in ('find "%~1=" DW_environmentConfig.ini') do (
set %~2=%%U
)
批次不会在此行之后结束,并且其后面的所有命令也会重复两次。 我不能在循环后使用像'goto:eof'这样的命令。 有没有人知道为什么会这样?
答案 0 :(得分:5)
当您使用CALL:INI
时,批处理会调用您的函数,当它结束时,它将返回CALL
命令点,然后再次转到:ini
标签。
试一试:
call:ini DW_LOADER_FeedsRootDir UDM_Folder
goto:eof
:ini
for /f "tokens=2 delims==" %%U in ('find "%~1=" DW_environmentConfig.ini') do (set %~2=%%U)