【发布时间】:2010-05-13 00:51:24
【问题描述】:
我制作了一个简单的批处理文件来备份我的存储库更改和重建,但它总是在备份命令运行后停止执行。这里有人见过这种情况吗?
【问题讨论】:
-
@bma:在某些情况下,什么是正常的可执行文件和什么是批处理文件并不是特别明显。某些程序(例如 ant)坚持默认通过批处理文件调用,如果您不知道这可能会非常……令人困惑。
标签: batch-file
我制作了一个简单的批处理文件来备份我的存储库更改和重建,但它总是在备份命令运行后停止执行。这里有人见过这种情况吗?
【问题讨论】:
标签: batch-file
具体来说,如果您从批处理中运行另一个批处理文件,则必须使用 CALL,否则您的批处理将在此时停止执行。 (控制权转移到第二个批处理文件,并且永远不会返回。)
运行 exe 之类的没问题 - 它们会自动返回。
【讨论】:
在您的第二个批处理文件中,将 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...
【讨论】: