首页 > 解决方案 > 如何从 Windows 中的批处理文件运行多个命令(每个来自新终端)

问题描述

我一生都在使用 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. 如何在批处理文件中运行多个命令?
  2. 如何在一个批处理文件中运行多个命令?

我承认我是新手,我的知识存在差距。请纠正我。

标签: windowsbatch-file

解决方案


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

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

推荐阅读