【问题标题】:Batch File Not Executing completely批处理文件未完全执行
【发布时间】:2010-05-13 00:51:24
【问题描述】:

我制作了一个简单的批处理文件来备份我的存储库更改和重建,但它总是在备份命令运行后停止执行。这里有人见过这种情况吗?

【问题讨论】:

  • @bma:在某些情况下,什么是正常的可执行文件和什么是批处理文件并不是特别明显。某些程序(例如 ant)坚持默认通过批处理文件调用,如果您不知道这可能会非常……令人困惑。

标签: batch-file


【解决方案1】:

具体来说,如果您从批处理中运行另一个批处理文件,则必须使用 CALL,否则您的批处理将在此时停止执行。 (控制权转移到第二个批处理文件,并且永远不会返回。)

运行 exe 之类的没问题 - 它们会自动返回。

【讨论】:

  • 谢谢!我刚刚发现了这一点,我打算把它贴在这里。
【解决方案2】:

在您的第二个批处理文件中,将 GOTO:EOF 作为最后一行而不是 EXIT

第一个文件:

ECHO. FIRST FILE
CALL file2.bat
ECHO. FIRST FILE AGAIN!
PAUSE

文件 2:

ECHO. SECOND FILE
:: your stuff here
GOTO:EOF

将显示(结果缩进以便阅读:

C:\Windows\System32> ECHO. FIRST FILE
      First File
C:\Windows\System32> CALL file2.bat
C:\Windows\System32> ECHO. SECOND FILE
      Second File
C:\Windows\System32> GOTO:EOF
C:\Windows\System32> ECHO. FIRST FILE AGAIN!
      First file again!
C:\Windows\System32> PAUSE
      Press any key to continue...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-29
    • 2017-03-08
    • 2013-03-01
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多