Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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
在windows中重新启动命令提示符_Windows - Fatal编程技术网

在windows中重新启动命令提示符

在windows中重新启动命令提示符,windows,Windows,就像在windows命令提示符中一样,我们可以发出重新启动/注销/关闭windows的命令…我想知道重新启动命令提示符本身的命令是什么。 (可能的用例:在对系统变量进行更改后,我必须重新启动命令提示符以查看这些更改是否生效)起初,我认为运行start cmd.exe会启动一个新的命令提示符,并设置新的环境变量。然而,测试证实这不起作用-它尊重环境变量 REM This won't work. SETX ABC 123 START cmd.exe EXIT 运行ECHO%ABC%不会在新窗口中

就像在windows命令提示符中一样,我们可以发出重新启动/注销/关闭windows的命令…我想知道重新启动命令提示符本身的命令是什么。
(可能的用例:在对系统变量进行更改后,我必须重新启动命令提示符以查看这些更改是否生效)

起初,我认为运行
start cmd.exe
会启动一个新的命令提示符,并设置新的环境变量。然而,测试证实这不起作用-它尊重环境变量

REM This won't work.
SETX ABC 123
START cmd.exe 
EXIT
运行
ECHO%ABC%
不会在新窗口中回显123

但是,可以使用“runas”来执行此操作:

REM This will work.
SETX ABC 123
RUNAS /noprofile /savecred /user:%USERDOMAIN%\%USERNAME% cmd.exe
EXIT

在新窗口中运行
ECHO%ABC%
现在将返回123。

也许我错了,但我认为这是不可能的。只需关闭并再次打开。@Sergi我想他说的是在脚本中进行操作,而不是以交互方式。您可以调用
cmd
,但它会在您的内部生成一个全新的命令提示符:D(当然,您可以在测试完要测试的内容后退出
内部命令提示符)@Luaan这实际上不起作用-它将使用来自父级的环境变量(即旧变量)。好的…因此,在命令提示符下启动cmd.exe将启动一个新的命令提示符窗口…但我只是想知道是否可以通过一些命令重新启动当前的命令提示符窗口。首先,您需要使用“runas”,而不是“START”-请重新阅读我的答案:)其次,您无法重新启动命令提示符。您必须生成一个新的命令窗口,然后关闭原始窗口-我已将“退出”命令添加到脚本的末尾。我指的是wont work部分中给出的命令…但由于看起来无法重新启动命令提示符…最好启动一个新窗口(使用您提到的RUNAS)然后退出当前的一个。