我正在尝试让commit-build.bat执行其他.bat文件,作为构建过程的一部分。
commit-build.bat的内容:
"msbuild.bat"
"unit-tests.bat"
"deploy.bat"
这看起来很简单,但commit-build.bat只执行列表中的第一项(msbuild.bat)。
我分别运行了每个文件,没有任何问题。
我正在尝试让commit-build.bat执行其他.bat文件,作为构建过程的一部分。
commit-build.bat的内容:
"msbuild.bat"
"unit-tests.bat"
"deploy.bat"
这看起来很简单,但commit-build.bat只执行列表中的第一项(msbuild.bat)。
我分别运行了每个文件,没有任何问题。
当前回答
要在.bat文件中调用.bat文件,请使用
call foo.bat
(是的,这很愚蠢,如果您可以像在命令提示符下那样使用foo.bat调用它,这会更有意义,但正确的方法是使用call。)
其他回答
Use:
call msbuild.bat
call unit-tests.bat
call deploy.bat
不使用CALL时,当前批处理文件停止,调用的批处理文件开始执行。这是一种可以追溯到MS-DOS早期的奇特行为。
Start msbuild.bat
Start unit-tests.bat
Start deploy.bat
如果这不起作用,请用call替换start或尝试以下操作:
Start msbuild.bat
Goto :1
:1
Start unit-tests.bat
Goto :2
:2
Start deploy.bat
如果我们想打开多个命令提示符,那么可以使用
start cmd /k
/k: 强制执行。
可以按如下方式启动许多命令提示。
start cmd /k Call rc_hub.bat 4444
start cmd /k Call rc_grid1.bat 5555
start cmd /k Call rc_grid1.bat 6666
start cmd /k Call rc_grid1.bat 5570.
只需使用call命令!下面是一个示例:
call msbuild.bat
call unit-tests.bat
call deploy.bat
您的脚本应为:
start "msbuild.bat"
start "unit-tests.bat"
start "deploy.bat"