批处理脚本在 `gulp` 过程完成后停止执行,不会继续执行脚本的其余部分

Batch script stops executing after `gulp` process is complete, does not continue executing the rest of the script

我正在尝试编写一个简单的批处理文件来构建一个 gulp 项目和一个 maven 项目。

当前文件如下:

cd C:\my\file\path
cmd /k gulp maven-deploy-local
cd C:\my\file\path\two\project-pom-parent
cmd /k mvn clean install -Dmaven.test.skip=true

每当我 运行 这个脚本时,命令行在第 2 行之后和第 3 行之前停止。我最终在 cmd 中看到这一行,光标闪烁:

C:\my\file\path>

如果我 运行 没有 cmd /k 的文件(如下所示),那么提示只会在第 2 行之后和第 3 行之前关闭。

cd C:\my\file\path
gulp maven-deploy-local
cd C:\my\file\path\two\project-pom-parent
mvn clean install -Dmaven.test.skip=true

如何修改批处理脚本,使其继续执行第 3 行和第 4 行的命令,然后保持打开状态并显示以下行和闪烁的光标?

C:\my\file\path\two\project-pom-parent>

我在 Windows 7 64 位

上运行
@ECHO OFF
IF NOT "%1"=="1" CMD /K ""%~f0" 1"
CD /d C:\my\file\path
CALL gulp maven-deploy-local
CD /d C:\my\file\path\two\project-pom-parent
CALL mvn clean install -Dmaven.test.skip=true

这个任务足够具体,也可以使用它:

cd /d "C:\my\file\path"
cmd /c gulp maven-deploy-local
cd /d "C:\my\file\path\two\project-pom-parent"
cmd /k mvn clean install -Dmaven.test.skip=true

本质上,第一个 cmd /k 可以更改为 cmd /c,因此它会执行命令并继续执行最后一个命令,从而使提示保持打开状态。