如果不在 C 驱动器上使用,为什么“在此处打开控制台”不会在正确的驱动器上打开 cmd?

DMA*_*361 6 windows-7 command-line

当我[ Shift+ 右键单击​​]一个不在我的C驱动器上的文件夹并选择“在此处打开控制台”时,我会cmd弹出一个在正确位置打开的窗口,而是指向C:\Windows\system32. 我必须手动切换到正确的驱动器,但是当我切换到正确的文件夹时。这几乎不是世界末日,但这是一个真正开始让我紧张的小烦恼......

注意:它确实适用于C驱动器上的位置。

这是在外部使用时的预期行为C吗?

如果没有,我该如何解决?
如果是,我该如何更改它以直接加载其他驱动器的文件夹?


例如,如果我尝试打开一个指向桌面文件夹的控制台窗口,如下所示:

从 Shift+右键单击菜单中为桌面上的文件夹选择“在此处打开控制台”

我得到一个cmd窗口,指向C:\Windows\system32我必须手动切换到D:,但这样做后您可以看到D:已成功选择其中的文件夹:

最初显示 C:\win\sys32 文件夹的 CMD 窗口,但单个“D:”命令更改为正确的位置。


更新

似乎“在此处打开控制台”可能是非标准的(请参阅评论)。

为完整起见,事实证明,当单击文件夹内部(它是“文件空间”,而不是文件夹图标本身)时,我在列表下方看到了可能标准的“在此处打开命令窗口”,如下图所示,所以有两者之间的一些差异突然出现:

直接从桌面打开时 shift+RMB 菜单(没有突出显示)

DMA*_*361 5

检查了注册表并在 chat 上询问了人们,我确定传递给cmd此处调用的实例的参数不正确。

该命令可以在中找到[HKEY_CLASSES_ROOT\Directory\shell\cmd\command],我的(Default)值为:

cmd.exe /k cd \"%L\"
Run Code Online (Sandbox Code Playgroud)

将其更改为以下值(在那个简短的聊天会话中获得)已解决了该问题:

cmd.exe /s /k pushd \"%V\"
Run Code Online (Sandbox Code Playgroud)

也就是说,虽然问题已解决,但我不知道最初是什么导致了这种变化......