【问题标题】:batch file: for loop running twice批处理文件:for循环运行两次
【发布时间】:2014-02-21 04:50:03
【问题描述】:

我正在尝试编写一个从 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”这样的命令。 有谁知道为什么会发生这种情况?

【问题讨论】:

    标签: windows batch-file for-loop


    【解决方案1】:

    当你使用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)
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 2013-10-07
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2021-10-26
      相关资源
      最近更新 更多