如何从Windows中的批处理文件运行多个命令(每个终端都来自新终端)

时间:2020-01-23 10:46:00

标签: windows batch-file

我一生都在使用Ubuntu,但是今天却得到了另一台安装了Windows 10的计算机。我有一个Angular项目,我想做以下事情。所有这些都在单独的终端中:

  1. 导航到项目文件夹并运行code .,以便我可以在Visual Studio上看到代码。

  2. 导航到项目文件夹并运行ng serve以启动我的应用程序并使其保持运行状态。

  3. 导航到项目文件夹并运行node server.js以启动后端服务器并使其保持运行状态。

    这很痛苦,因为项目所在的位置是-

C:\Users\tanzeel\Downloads\social-coder

用新的终端一次又一次地导航是浪费我的时间。我决定编写一个batch文件,以便一次单击即可完成所有操作。这是我的starter.bat文件包含的内容:

cd C:\Users\tanzeel\Downloads\social-coder\application 2>nul && call npm.cmd start
node C:\Users\tanzeel\Downloads\social-coder\server\server.js
code C:\Users\tanzeel\Downloads\social-coder

如果我手动将它们复制粘贴到单独的终端中,则上述所有3条命令都可以正常工作。但是当我尝试从批处理文件运行它们时,问题只是执行第一个命令,我不知道其他两个被简单地忽略了还是什么。我来自:

  1. How to run multiple commands in a batch file?
  2. How to run multiple commands in one batch file?

我承认我是新手,而且我的知识还存在不足。请纠正我。

1 个答案:

答案 0 :(得分:3)

您需要使用例如START以产生新的进程,否则当前正在运行的程序将一直阻塞直到完成。在我看来,这就是您想要的:

@ECHO OFF
CD C:\Users\tanzeel\Downloads\social-coder
START code .
CD application
START npm start
CD ..\server
START node server.js
EXIT