【问题标题】:Batch script stops after first call to other batch script第一次调用其他批处理脚本后批处理脚本停止
【发布时间】:2018-04-21 02:23:00
【问题描述】:

我正在尝试执行当前如下所示的批处理脚本:

D:
cd D:My Documents\FtpSolution\Test
getftp.bat
call delimconvert.exe
call convert-to-xls.bat

但是,在 getftp.bat 运行后,这停止了。

我做错了什么?重要的是这些命令都按顺序运行。

【问题讨论】:

    标签: batch-file


    【解决方案1】:

    使用call:

    Calls one batch program from another.
    
    CALL [drive:][path]filename [batch-parameters]
    
      batch-parameters   Specifies any command-line information required by the
                         batch program.
    

    如果您在没有call 的情况下调用其他批处理文件,则控制权会传递给它们但不会再次返回(这是call 更改的内容)。

    【讨论】:

    • 如果被调用的批处理文件调用另一个批处理文件,这将无济于事。
    【解决方案2】:

    使用start 命令在新窗口中启动它。

    start /wait getftp.bat

    【讨论】:

    • 这是否要求“退出”位于其他批处理脚本的末尾?目前,一旦第一个脚本在新窗口中完成,它就会出现在提示符处。
    【解决方案3】:

    尝试在您正在调用的批处理文件末尾使用“Goto :EOF”而不是“exit” - 在您的情况下,getftp.bat 文件... 这就是我的固定 - 在 Win10 企业版上测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多