无法在 C:\ 以外的命令提示符 (cmd) 中更改驱动器号

Isa*_*saz 1 windows-10

不确定是什么触发了这个,但我注意到在 Windows 10 中使用命令提示符时,我无法使用cdC: 以外的任何驱动器号的命令更改驱动器。我还注意到,当尝试将目录从目标驱动器更改为特定文件夹时,自动完成功能工作正常,但目录中的更改并未发生。

磁盘管理工具和实际 cmd 提示命令的屏幕截图如下:

磁盘管理

命令提示符

此行为不适用于 PowerShell,因此我可以成功更改驱动器。

use*_*686 16

这是正常的。由于历史原因,这就是cd命令在 Cmd.exe 中的工作方式,因为这也是它在 MS-DOS COMMAND.COM 中的工作方式。目录更改会记住(Cmd 会按驱动器跟踪它,就像 MS-DOS 一样),但您必须单独切换实际驱动器——只需键入驱动器:

C:\>  e:
E:\>  cd \fonts
E:\Fonts>  _
Run Code Online (Sandbox Code Playgroud)

即使它非常不明显,也可以使用相反的方法:

C:\>  cd e:\fonts
C:\>  e:
E:\Fonts>  _
Run Code Online (Sandbox Code Playgroud)

(请注意,当您cd e:在屏幕截图中使用 eg时,这不会改变任何内容,而是显示该驱动器号的当前目录。)

但是, Cmd.exe 有一个更改两者的快捷方式 - 该/d选项使cd正常工作:

cd /d e:\fonts
Run Code Online (Sandbox Code Playgroud)

所述PUSHD / POPD命令不需要额外amything,因为它们不存在于MS-DOS和不与兼容性的负担。(我曾经使用过doskey别名[=pushd $*等等]=popd。)

pushd e:\fonts
...
popd
Run Code Online (Sandbox Code Playgroud)


Gre*_*g W 7

cd [drive]:\directory 将更改该驱动器上的当前目录“上下文”,但不会更改为该驱动器本身。

如果您随后只键入 [drive]:,它将切换到该驱动器并记住您之前“cd”到的目录。

CMD 一直是这样的。

PowerShell 的“cd”是 Set-Location 的别名,它总是改变当前驱动器和目录。