启动批处理文件并在完成后关闭Cmd

时间:2017-05-11 08:49:56

标签: batch-file cmd

我的应用程序分布在多个目录中,每个目录都包含一个部分(例如Web前端,移动应用程序,管理,中间件,后端......)。

在每个目录中,我有一个部分,一个文件compile.cmd编译该部分,看起来大致如下:

@ECHO OFF
compiler prepare thisPart
compiler compile thisPart
copy resultingFile1 ../bundleDirectory
     ...
copy resultingFileN ../bundleDirectory
pause

“暂停”是这样我可以检查编译器输出,编译是否失败以及发生了哪些错误消息,然后用一次击键(主要是空格键)关闭窗口。

我现在想要一个批处理文件,为不同的应用程序部分并行调用所有这些批处理文件,所以我想我必须为每个部分打开一个新的shell窗口。

所以我写了这样的CompileAllParts.cmd

cd part1
start "Compile part 1" compile.cmd
cd ../part2
start "Compile part 2" compile.cmd
cd ../part3
start "Compile part 3" compile.cmd

肯定的是我可以影响窗口标题,但缺点是产生的新Cmds不会自动关闭。

这也是start的文档的一部分:

  

如果command是内部cmd命令或批处理文件,则命令处理器使用/ K切换到cmd.exe运行。这意味着在运行命令后窗口将保留。

是否有隐藏参数来明确禁用此行为?

1 个答案:

答案 0 :(得分:2)

startcmd合并。首先设置标题和工作文件夹,然后使用/C并执行命令:

start "Compile part 1" /d "part1" cmd /c "d:\proper folder\compile.cmd"