如何以管理员身份在特定文件夹中打开命令提示符?


37

我创建了cmd.exe的快捷方式,并指定了要在其中启动的文件夹。然后,我进入“高级”并勾选“以管理员身份运行”

当我双击快捷方式时,它总是以开头C:\Windows\System32

我缺少什么?如何使命令行在指定的文件夹中启动?

快捷方式属性

提示,在System32中

Answers:


36

在目标中,您应指定 cmd /k cd c:\crp


7
代替cd,使用pushd,它将在c:甚至unc共享以外的其他驱动器上运行。
ths 2016年

2
为了使管理员状态更加可见,可以设置窗口标题和窗口颜色。例如:`cmd.exe / K title Elevated && color 1a && cd / D c:`
Axel Kemper

2
@ths pushed适用于unc,而cd确实没有。但是您关于cd不会更改为其他驱动器的轻微建议是不正确的,请参见cd / d(您可能知道)。
barlop '16

cd / d仍然无法覆盖unc路径...实际上有一个争论点
JasonXA

@JasonXA已在您上方的评论以及第一个评论中的评论中说过。
barlop

47

如果需要其背后的理由,Start in在执行提升(仅在Windows本身的一部分二进制文件上)以防止潜在的安全漏洞,将被显式忽略

基本思想是,位于工作目录中的潜在恶意DLL可能由当前管理员以外的用户控制,然后可以高特权加载。为防止这种情况,UAC将重置工作目录。由于快捷方式的“开始于”是在提升发生之前设置的,因此在提升过程中将被重置。在理想情况下,此保护将适用于所有海拔,但仅适用于内置Windows二进制文件,因为它破坏了一些希望保留工作目录的第三方程序。

其他答案绕过此告诉高架cmd改变其工作目录升高时,通过/k论证。


3
+1解释原因,我一直以为是个错误,大声笑。
modiX '16

28

在资源管理器内部,自Windows 8中引入功能区以来,就有一个快速访问工具栏(QAT)。单击File-> open CMD prompt-> Open CMD prompt as admin并单击鼠标右键,然后选择将其固定到QAT。

在此处输入图片说明

现在,您可以在每个喜欢的文件夹中单击此图标,然后cmd将在此文件夹中打开。

在此处输入图片说明

要从QAT以管理员身份更快地运行cmd,ALT请按键,您会在QAT中看到该职位的数字。

在此处输入图片说明

如果现在按数字,则将启动该位置的工具(在我的情况下,4将以admin身份运行cmd)。


可以将其转换为快捷方式吗?

2
@桅杆,按ALT键,您会在QAT中看到该职位的数字。如果您现在按数字,则将在该位置启动工具
magicandre1981 '16

3
这是一个完美的解决方案:)
亚伦(Aaron)

疯狂破解!在Windows 10上,您可以使用powershell代替cmd选项。
Paramvir Singh Karwal

@ParamvirSinghKarwal是的,在Win10中,自从更新版本1703
magicandre1981

8

巴洛普是正确的。如果添加/k cd "\path\to\folder"到“目标”字段(之后cmd.exe),则出现的“命令提示符”窗口将执行cd命令,然后根据需要提示您进行处理。如果您需要更换不同的驱动器,则cd /d不仅需要cd。如果需要更改为网络驱动器,请pushd改用-它会自动将目标UNC路径安装为驱动器并进行更改。

所述/k开关cmd装置“执行此命令,并ķ EEP提示开”。之后的所有内容/k均视为文字命令,因此您不必担心转义。您可以&&用来执行多个命令:cd "\path\to\folder" && echo Hi!将在该目录中产生一个提示,并Hi!在顶部打印。

相当于/k不守提示周围是/c(对于“执行这个ç ommand”)。


3

实际上,这不是您要的,但是如果我了解您的意思,这将实现您尝试解决的问题。尝试在特定文件夹上shift+ rightclick,然后选择open command window here。如果那不是您的问题,请告诉我,我将删除它。

并且(感谢鲍勃;以前也不知道这一点)甚至可以将其提升。

资料来自Bob的评论

[...]在这里,我们还可以添加所需的键,以打开系统附带的每个驱动器盘符的提升提示。通过在注册表中添加一个条目,可以轻松完成此操作。因此,将以下文本复制/粘贴到文本文件中,并为其命名,例如“ admin.reg”,然后双击它。

Windows Registry Editor Version 5.00    
[-HKEY_CLASSES_ROOT\Directory\shell\runas]       
[HKEY_CLASSES_ROOT\Directory\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Directory\Background\shell\runas]    
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"="" 
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""    
[-HKEY_CLASSES_ROOT\Drive\shell\runas]    
[HKEY_CLASSES_ROOT\Drive\shell\runas]  @="Open command window here as Administrator"  "HasLUAShield"=""    
[HKEY_CLASSES_ROOT\Drive\shell\runas\command]  @="cmd.exe /s /k pushd \"%V\""

现在,如果在任何文件夹上单击鼠标右键,将看到两个选项。


这也是我的第一个想法,但这不是问题。
Raystafarian '16

如果我们有办法做到这一点,我会很高兴。
ths 2016年

1
@ths您可以添加选项。
鲍勃

1
感谢@Bob,带有“扩展”键,它甚至也可以在Shift单击菜单中。
2016年

@Raystafarian:我知道,在意识到这一点的同时回答我有点不愉快。因此,我可以理解人们对此表示反对。但另一方面,我可以想象很多人通过网络搜索找到此OP可能会更满意此解决方案以满足他们的需求。这也就是为什么我不只是将此内容留给OP的原因,因为以后可能会删除它。
Zaibis

1

对于像我这样的人,当尝试在单独的驱动器中以admin身份打开cmd(在我的情况下为“ E:”)时偶然发现此问题时,尝试进行此类操作时可能会遇到问题cd E:/somedir。这样做实际上不会将目录更改为新的驱动器。

如果这是您的问题,并且您只需要在其他驱动器上使用cmd作为管理员,则cmd语法实际上只是E:(或任何驱动器号),而没有cd命令。

因此,您可以:

  1. Windows搜索>“ cmd”>右键单击>以管理员身份运行
  2. 只需键入E:(或您想切换到的任何驱动器号,后跟冒号)

1

如果您需要从不同于系统驱动器(例如C:\ Windows \ system32)的驱动器(例如D:\ something)启动,则可以将以下内容放入“目标”字段:

cmd /k "cd /d D:\<your directory here>"

这里的关键是/d在您的前面添加选项cd


0

当您以管理员身份打开命令提示符并显示“ C:\ Windows \ System32”时,只需输入“ cd ..”,它将进入一个目录,即“ C:\ Windows” 。再次重复“ cd ..”以转到“ C:\”,您现在可以在其中“ cd Users / name / folder”


2
真实地来吧。...如果您想这样回答,请学习如何增加更多细节并变得更加清晰。如果您有比其他答案中已经指定的方法更快的方法或方法,那么为什么不以更清晰的细节显示它。我可以考虑一种方法,但我不会为您完成工作,但可以轻松地从中得出合理的答案,并使其实际上可以接受...很容易...只需键入,阅读,测试,学习等即可。快来成为真正的Kligmaker,您的想法能做得更好吗?
Pimp Juice IT
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.