我的应用程序分布在多个目录中,每个目录都包含一个部分(例如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
运行。这意味着在运行命令后窗口将保留。
是否有隐藏参数来明确禁用此行为?
答案 0 :(得分:2)
将start
与cmd
合并。首先设置标题和工作文件夹,然后使用/C
并执行命令:
start "Compile part 1" /d "part1" cmd /c "d:\proper folder\compile.cmd"