使用批处理文件自动启动 5 个单独的 cmd 提示,其中每个 cmd 提示指向不同的目录并启动 php web 服务器
Posted
技术标签:
【中文标题】使用批处理文件自动启动 5 个单独的 cmd 提示,其中每个 cmd 提示指向不同的目录并启动 php web 服务器【英文标题】:Use a batch file to automatically start 5 separate cmd prompts, where each cmd prompt points to a different directory and starting the php web server 【发布时间】:2021-06-29 04:25:20 【问题描述】:我希望你能帮我解决这个问题,我认为这很简单,但结果却是一个非常糟糕的问题。 正如主题行中提到的,这就是我想要完成的:
自动运行5个命令提示符,每个新的命令提示符都需要做如下操作 将目录更改为特定位置 启动内置的php web服务器这是我目前的 .bat 文件的代码:
start cmd /k
cd "directory 1"
php -S localhost:8081
start cmd /k
cd "directory 02"
php -S localhost:8082
start cmd /k
cd "directory 03"
php -S localhost:8083
etc...
更新(这里是一些调整后的工作命令)
start "Dir1" /d "directory1" cmd /k "php -S localhost:8081"
start "Dir2" /d "directory2" cmd /k "php -S localhost:8082"
start "Dir3" /d "directory3" cmd /k "php -S localhost:8083"
start "Dir4" /d "directory4" cmd /k "php -S localhost:8084"
start "Dir5" /d "directory5" cmd /k "php -S localhost:8085"
start "Dir6" /d "directory6" cmd /k "php -S localhost:8086"
非常感谢。 干杯, 蒂姆·K
【问题讨论】:
【参考方案1】:该命令必须与cmd /k
在同一行,否则您将启动一个新窗口并在原始窗口中执行下一行。 Start
有一个/d
开关来设置新进程的工作文件夹,所以你不需要cd
:
start "Dir1" /d "directory 1" cmd /k "php -S localhost:8081"
REM etc.
当文件夹名称和端口准确时,您可以使用for /L
循环来简化事情:
for /l %%i in (1,1,5) do start "Dir %%i" /d "directory %%i" cmd /k "php -S localhost:808%%i"
【讨论】:
非常感谢斯蒂芬,但这似乎只启动了第一个 cmd 提示符,而不是其他的?我将使用 .bat 文件中的命令更新我原来的问题。 第一个代码只打开一个提示,第二个应该启动其中的五个(假设,文件夹directory %%i
存在(就像你的问题所暗示的那样) - 如果文件夹不存在,则没有 @ 987654329@ 被执行,你得到一个错误消息 invalid directory
代替)
再次感谢 Stephan,经过一番调整,这似乎确实可行 ;-)。
只是出于好奇:你做了什么调整?
请查看我更新的问题,了解我需要调整的内容。以上是关于使用批处理文件自动启动 5 个单独的 cmd 提示,其中每个 cmd 提示指向不同的目录并启动 php web 服务器的主要内容,如果未能解决你的问题,请参考以下文章
dos下执行bat文件,如何让两个命令之间自动延迟3秒后再继续执行?