我试图写一个从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)