【发布时间】:2016-11-08 22:22:58
【问题描述】:
文件a.bat:-
start powershell "npm init"
code .
当我双击上面的文件时,它会打开一个带有npm init 命令的powershell 窗口,它还会打开visual studio code 并在其中打开当前目录。 cmd.exe 在此之后退出。但是对于下面的bat文件:-
start /min powershell "gulp scss; gulp watch-scss;"
start /min powershell "gulp js; gulp watch-js;"
start /min powershell "http-server;"
code .
当我双击它时,除了 cmd.exe 没有退出并在等待状态下保持打开状态(因为它正在等待 Visual Studio 代码关闭)之外,一切都按原样进行。
如何让 cmd.exe 在所有命令都执行完毕后退出(如a.bat 的情况)?
更新
如果我省略最后一行code .,批处理文件不会保持 cmd.exe 打开。以下批处理文件可以正常工作:-
start /min powershell "gulp scss; gulp watch-scss;"
start /min powershell "gulp js; gulp watch-js;"
start /min powershell "http-server;"
当我添加code .这一行时问题就开始了
【问题讨论】:
-
好吧,您似乎没有向我们展示您的所有代码,那么我们如何才能真正确定解决方案?另外,我不理解在这种情况下使用 Powershell。
-
改用
start code .。 -
@Squashman 这些是完整的
bat文件。没有什么是隐藏的。使用 powershell 执行 gulp 和 npm http-server 是我个人的喜好,效果很好。 -
@dxiv 好吧,使用
start code .不会使 cmd.exe 保持等待状态,但不会关闭它。 -
@OmarTariq
doesn't keep the cmd.exe in waiting state but it doesn't close it所以它只是返回到提示符?您可以在文件末尾添加exit行,但如果您通过双击启动批处理文件,通常不需要这样做。
标签: node.js windows powershell cmd visual-studio-code