使用bat文件将命令指向新打开的单独命令提示符

时间:2014-02-17 05:03:02

标签: batch-file cmd environment-variables

我有一个命令提示符快捷方式,它在启动时运行bat文件。一旦它被启动,我将发出另一个命令,比如my_command,它被添加为login.bat中的doskey宏

流程有点像这样。

我有一个cmd快捷方式,目标设置为:

C:\Windows\System32\cmd.exe /k "D:\\login.bat"

login.bat设置环境。

一旦cmd提示符处于活动状态,我应该发出另一个命令,比如my_command(应该在当前打开的cmd提示符下运行)

login.bat内我有以下几行

...
doskey my_command=another_login.bat DEBUG 32

我试图编写一个bat文件来完成整个事情。

我不应该更改login.bat

我尝试的是:

start C:\Windows\System32\cmd.exe /k "D:\\login.bat"
my_command

命令my_command在bat文件的命令提示符下运行。

如何在新打开的命令提示符上运行命令my_commnad,而不是在bat文件的cmd提示符中运行?

2 个答案:

答案 0 :(得分:1)

试试这个:

start C:\Windows\System32\cmd.exe /k "D:\\login.bat & devenv"

回答你的编辑:坏消息。

  

您无法从批处理文件中运行Doskey宏。

参考:http://ss64.com/nt/doskey.html

您可以直接运行使用doskey设置的命令吗?

start C:\Windows\System32\cmd.exe /k "D:\\login.bat & another_login.bat DEBUG 32"

答案 1 :(得分:0)

您需要在批处理文件中指定devenv的完整路径,该路径将取决于您的Visual Studio版本。

尝试使用以下其中一项替换devenv

VS 2013:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe

VS 2012:

C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe

VS 2010:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe

编辑以回应您的评论

doskey.exe可执行文件位于C:\Windows\System32\doskey.exe。以完整路径引用它应该有效。