我正在尝试在BAT文件中打开一个新的命令窗口:
start %windir%\system32\cmd.exe
打开后,我想在新窗口中执行BAT命令:
echo "test in new window"
我该怎么做呢?
我正在尝试在BAT文件中打开一个新的命令窗口:
start %windir%\system32\cmd.exe
打开后,我想在新窗口中执行BAT命令:
echo "test in new window"
我该怎么做呢?
当前回答
在两个命令之间添加/k将按顺序执行这两个命令。
例子:
cmd /k echo "hello"
该命令将首先打开命令提示符,然后执行echo“hello”命令
其他回答
扩展来自@Dan Zuzevich的回答。如果你的目标文件在不同的驱动器上,下面是CD“更改目录”。例如,它必须从C盘和D盘调用文件。
:: Start MongoDB
start cmd.exe /k "mongod"
:: cd app directory, and start it
cd C:\project\dev
C:
start cmd.exe /k "npm run dev"
:: cd to api server, and start that
cd D:\api\server
D:
start cmd.exe /k "npm run dev"
感谢Stack Overflow的所有人;这个解决方案解决了上面的问题,但被扩展为自动运行这些任务:
我想运行我的rails服务器 为我的delayed_job gem运行一个rake jobs:worker 和打开默认的互联网浏览器显示我的页面 最后,在会话期间为任何额外命令打开CMD窗口。
我想我的项目叫做“反古伦”。
在你的%USERPROFILE%目录中创建一个“init.bat”文件(打开一个cmd窗口,看看光标左边的路径,知道%USERPROFILE%是什么)
@echo off
cd C:/projects/rails3/antiquorum
if "%1" == "antiquorum" GOTO start
if "%1" == "worker" GOTO worker
if "%1" == "server" GOTO server
if "%1" == "" GOTO end
:start
start cmd /k %USERPROFILE%\init.bat worker
start cmd /k %USERPROFILE%\init.bat server
TIMEOUT 30
start "" "http://localhost:3000/"
GOTO end
:server
rails s
GOTO end
:worker
rake jobs:work
:end
在新的命令行窗口中输入:C:> init antiquorum
这段代码打开了另外两个cmd窗口和一个浏览器。TIMEOUT可以避免浏览器中的错误。
:start部分完成这项工作。 您可以通过输入参数as: server, worker或none来分别运行任务1,2或4,以在“antiquorum”项目的根目录下打开cmd。
享受。
我想让我的窗口在我杀死或重新启动Firebase后保持打开,所以我使用了两个批处理文件。
便于访问的桌面文件:run_firebase.bat:
--------------START FILE CONTENTS--------------
start cmd /k C:\dev\init_firebase_batch.bat
---------------END FILE CONTENTS---------------
C:\dev\init_firebase_batch.bat
--------------START FILE CONTENTS--------------
cd C:\dev\aptr_datasync\aperture-customer-hub
firebase emulators:start
---------------END FILE CONTENTS---------------
所以…双击run_firebase.bat,它将运行第二批。在按Ctrl+C退出我的进程后,窗口仍然打开。看似微不足道,但我不喜欢在写代码时分心。
我花时间解是因为我觉得它很简单。希望这能为其他人带来同样的简单。
我认为这验证了最初帖子中的问题:
我正在尝试在BAT文件中打开一个新的命令窗口 [x]打开后,我想在新窗口中执行BAT命令
如果我正确理解你这样做在一边你的bat文件将打开命令提示符和打印你的消息到屏幕上。
cmd.exe hello world
希望这能有所帮助。
以上的答案对我很有帮助。但仍然需要一些思考。下面是一个示例脚本,我用来启动3个过程的web开发。这导致3个窗口保持打开状态,因为它们需要持续运行。
Mongo被全局添加到我的路径中,所以我不需要像对其他两个程序那样进行cd。当然,文件的路径会有所不同,但希望这对您有所帮助。
:: Start MongoDB
start cmd.exe /k "mongod"
:: cd app directory, and start it
cd my-app
start cmd.exe /k "npm run dev"
:: cd to api server, and start that
cd ../my-app-api
start cmd.exe /k "npm run dev"