我正在尝试编写一个从 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”这样的命令。 有谁知道为什么会这样?
最佳答案
当您使用 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)
关于windows - 批处理文件 : for loop running twice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21430156/