Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 使用bat文件将命令定向到新打开的单独命令提示符_Batch File_Cmd_Environment Variables - Fatal编程技术网

Batch file 使用bat文件将命令定向到新打开的单独命令提示符

Batch file 使用bat文件将命令定向到新打开的单独命令提示符,batch-file,cmd,environment-variables,Batch File,Cmd,Environment Variables,我有一个命令提示符快捷方式,在启动bat文件时运行它。一旦启动,我将发出另一个命令,比如my_命令,它作为doskey宏添加到login.bat 流程有点像这样 我有一个cmd快捷方式,目标设置为: C:\Windows\System32\cmd.exe /k "D:\\login.bat" 其中login.bat设置环境 一旦cmd提示符激活,我应该发出另一个命令,比如说my_command(应该在当前打开的cmd提示符中运行) 在login.bat内部,我有以下几行代码 ... doske

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

流程有点像这样

我有一个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_命令
在bat文件的命令提示符下运行

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

尝试以下操作:

start C:\Windows\System32\cmd.exe /k "D:\\login.bat & devenv"
回答你的编辑:坏消息

不能从批处理文件运行Doskey宏

参考:

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

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

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

尝试将
devenv
替换为以下内容之一:

与2013年相比:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
与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
中。通过完整路径引用它应该可以工作。

它说devenv不能被识别为命令。但当我尝试登录到login.bat并输入命令devenv时,提示它工作正常。我假设login.bat设置您的路径变量。在执行login.bat之前,cmd.exe可能会查找devenv。您可以尝试指定devenv的整个路径-我认为login.bat所做的所有其他操作都将仍然适用。我对我的问题进行了一些编辑。我应该运行登录到login.bat中的doskey。我对写bat文件还不熟悉。对不起,我的问题不完全诚实。实际上我不想说输入的实际命令。它不是devenv。它是添加在login.bat中的doskey。在运行login.bat之后。我正在调用doskey宏。我将重新表述我的问题,请参阅我的编辑。。。Doskey.exe也是一个可执行文件,您也可以通过完整路径引用它。我想@sajas想说的是,他在login.bat文件中定义了一个Doskey宏,并试图从调用bat文件的快捷方式访问它。我的主要问题是如何运行后面的任何命令(她,这是我的命令)在新打开的cmd提示符中,而不是由bat文件打开的默认cmd提示符。谢谢伙计们,Blorgbeards的回答对我有用。谢谢你们的帮助