BAT文件:打开新窗口 cmd 并在其中执行命令

我正在尝试在文件中打开一个新的命令窗口 BAT:


start %windir%\system32\cmd.exe


打开后,我想执行命令 BAT 在一个新窗口中:


echo "test in new window"


我怎样才能做到这一点?
已邀请:

郭文康

赞同来自:

你可能已经找到了你的答案,因为你问了一段时间。 但我试图在编码时做一些类似的事情 ror. 我想开始 "rails server" 在一个新的窗口 cmd, 所以我没有打开一个新的 cmd, 然后再找到你的方式。

我学到的是使用交换机 K 通过以下方式:


start cmd /k echo Hello, World!


start before "cmd" 在新窗口中打开应用程序 "/K" 执行 "echo Hello, World!" 在新的 cmd 将推出。

您还可以使用交换机 /C 因为那样的东西。


start cmd /C pause


然后他会表演 "pause", 但是在执行命令时关闭窗口。 在这种情况下,按下按钮后。 我发现它很有用 "rails server", 然后,当我关闭我的Dev服务器时,我不需要在此之后关闭窗口。

莫问

赞同来自:

在你的下面使用以下内容 batch file:


start cmd.exe /k "more-batch-commands-here"


或者


start cmd.exe /c "more-batch-commands-here"


/c 执行命令
, 指定的字符串然后
饰面

/k 施行
线条指定的命令但是
遗迹

有关更多信息,请参阅文档。 cmd.exe 通过
cmd /?

.

命令行的正确形成变得更加复杂于参数中的空格。 请参阅下面的示例。 请注意在一些示例中使用嵌套双引号。

例子

:

运行程序并传递参数 filename:

CMD /c write.exe c:\docs\sample.txt


运行程序并传递长文件名:

CMD /c write.exe "c:\sample documents\sample.txt"


程序中的空间:

CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""


程序中的空间 + 选项:

CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2


CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""


跑步 demo1 和 demo2:

CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""


来源:

http://ss64.com/nt/cmd.html

石油百科

赞同来自:

这不是很容易。

最好的是您想要执行的脚本的一部分 "new window", 这样它就在一个单独的文件中 .bat. 例如,如果您需要许多州,则可能是不切实际的 rest 你的脚本 /变量等。/. 其中一个选项 - 传输您需要的任何值 /例如, dir 工作/ 在 batch file:


start cmd.exe stuff.bat %this_dir%


如果您有大量的传输状态,则可以考虑创建 batch file 在执行期间:


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%"


显然,这是一个琐碎的例子。

二哥

赞同来自:

上述答案帮助了我。 但仍然需要一些东西来辨认出来。 这是我用来启动的脚本的示例 3 Web流程 - 发展。 这导致 3 windows 保持开放,因为他们必须不断工作。

Montgo全球被添加到我的路上,所以我不需要一张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"

君笑尘

赞同来自:

谢谢大家 Stack Overflow; 此解决方案解决了上述问题,但扩展以自动启动这些任务:

我想跑我的

服务器

rails

发射

耙 jobs:worker

为我的 delayed_job gem 还

并打开默认的在线浏览器

展示我的页面

最后,

离开

窗户

cmd 在会话期间为任何其他命令打开。

可能是我的项目被称为

"antiquorum."

创建文件。

"init.bat"

在你的

目录 %USERPROFILE% /打开窗户

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 "" "[url=http://localhost:3000/"]http://localhost:3000/"[/url]
GOTO end
:server
rails s
GOTO end
:worker
rake jobs:work
:end


在“新建命令行”窗口中,输入:

C:> init antiquorum

代码打开了两个 cmd windows 和浏览器。

TIMEOUT

允许您避免浏览器中的错误。

部分

:start

执行这项工作。
你可以运行任务 1,2 或者 4 分别地 , 通过键入参数:

server

,

worker

或者 none, 离开 cmd 打开B.

Korenev.

目录

项目 "antiquorum".

享受。

奔跑吧少年

赞同来自:

如果我理解正确,抛开了什么,你的蝙蝠文件将打开命令行,并将您的消息显示到屏幕。


cmd.exe hello world


我希望它会有所帮助。

窦买办

赞同来自:

启动文件 python 在一个新的窗口 cmd 文件名中有空格:


start cmd.exe /k python "C:\Program Files\HelloWorld.py"

裸奔

赞同来自:

添加


/k


两支球队之间

执行两支球队
in order


.

例子:


cmd /k echo "hello"


此命令将首先打开
command prompt

, 然后执行命令
echo "hello"

要回复问题请先登录注册