我正在尝试在BAT文件中打开一个新的命令窗口:
start %windir%\system32\cmd.exe
打开后,我想在新窗口中执行BAT命令:
echo "test in new window"
我该怎么做呢?
我正在尝试在BAT文件中打开一个新的命令窗口:
start %windir%\system32\cmd.exe
打开后,我想在新窗口中执行BAT命令:
echo "test in new window"
我该怎么做呢?
当前回答
在一个新的CMD窗口中运行一个python文件,文件名中有空格。
start cmd.exe /k python "C:\Program Files\HelloWorld.py"
其他回答
我想让我的窗口在我杀死或重新启动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
希望这能有所帮助。
这并不容易。
最好的方法是将希望在“新窗口”中执行的脚本部分放在单独的.bat文件中。这可能是不切实际的,例如,你需要从你的脚本的其他部分(变量等)很多状态。一种选择是将你需要的任何值(例如dir)传递给批处理文件:
start cmd.exe stuff.bat %this_dir%
如果你有大量的状态要传输,你可以考虑在运行时生成一个批处理文件:
set foo=Hello, World
set list_me=%userprofile%
set tmpdir=c:\windows\temp
set tmp=%tmpdir%\tmp.foo
del /q /f "%tmp%"
echo.echo %foo%>>"%tmp%"
echo.dir "%list_me%">>>"%tmp"
start cmd.exe "%tmp%"
del /q /f "%tmp%"
显然这是一个简单的例子。
在一个新的CMD窗口中运行一个python文件,文件名中有空格。
start cmd.exe /k python "C:\Program Files\HelloWorld.py"
扩展来自@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"