我正在尝试在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"
其他回答
在一个新的CMD窗口中运行一个python文件,文件名中有空格。
start cmd.exe /k python "C:\Program Files\HelloWorld.py"
在两个命令之间添加/k将按顺序执行这两个命令。
例子:
cmd /k echo "hello"
该命令将首先打开命令提示符,然后执行echo“hello”命令
这并不容易。
最好的方法是将希望在“新窗口”中执行的脚本部分放在单独的.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%"
显然这是一个简单的例子。
如果我正确理解你这样做在一边你的bat文件将打开命令提示符和打印你的消息到屏幕上。
cmd.exe hello world
希望这能有所帮助。
感谢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。
享受。