我知道可以在Windows CMD中的一行中运行两个命令,如下所示:
dir & echo foo
但是如何并行运行两个命令呢?我也知道可以通过使用START实现这一点。但是,您必须将这些命令放入批处理文件中。我想从命令行本身并行启动它们。
我想要达到的目标是:
set NODE_ENV=development&& nodemon -e js,jsx,cjsx,css,scss,html,coffee --watch ./app/ server/server.js & set NODE_ENV=development&& node server/hotLoadServer.js
如果我在单独的窗口中单独运行命令,它们可以完美运行。但我似乎无法让它们在一个cmd提示符中作为一个单行运行。会发生什么,第一个是运行,第二个不运行。第一个将保持打开,第二个永远不会执行。
答案 0 :(得分:0)
您可以在一个cmd会话中运行并行线程。使用' cmd'命令用/ c参数,它将执行string指定的命令然后停止。 例如 cmd / c echo done
以获取更多参考:https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true
答案 1 :(得分:0)
这将并行执行两个任务,并为每个任务打开一个窗口:
# powershell
start ping google.com; start ping example.com
# cmd
start ping google.com & start ping example.com
这是相同的,但是/ B选项阻止打开任何新窗口(以cmd为单位):
start /B ping google.com & start ping example.com
在powershell中没有找到任何直接等效项,尽管在powershell中启动它可以达到目的:
cmd /C 'start /B ping google.com & start /B ping example.com'
还要注意,powershell的Start-Job cmdlet允许用户启动后台作业。