为什么 Windows 中的 cd 无法在驱动器之间切换?

为什么 Windows 中的 cd 无法在驱动器之间切换?

可能重复:
在 Windows 命令行中使用 cd 命令,无法导航到 D:\

为什么,为什么,cdWindows 这么愚蠢,在以下情况下没有做它应该做的事情:

I:\Documents and Settings\blah\>cd C:\somedir\
I:\Documents and Settings\blah\>

我知道你可以chdir /d。但为什么这不是默认行为?

答案1

这是设计使然。每个“驱动器”都有自己的工作目录。您可以使用chdir,也可以直接输入驱动器号:

> D:

这将更改为 D 盘。如果您想知道为什么会出现这种情况,请参阅Raymond Chen 的解释

答案2

在 Windows 中可以使用本机cd/d <drive>:<path>要不然chdir/d或者pushd。 它是/d选项,表示驱动器也应该更改。pushd命令默认执行此操作。

甚至可以使用别名 cd 来使其成为默认行为,如下所示:

doskey cd=chdir/d $*

然后可以做类似的事情:

cd D:\Temp
cd C:\WINDOWS

并且驱动力也会改变。

输入以下代码查看帮助cd/?更多细节。

答案3

这是历史遗留问题。cd仅更改指定驱动器上的当前目录(如果没有则为当前目录),并将<drive>:驱动器更改为文件夹在那个驱动器上较早cd的(\如果没有)

答案4

一些第三方 shell - 例如 4dos 有 CDD 命令

您可以在 Windows 主目录中创建一个名为“cdd.bat”的批处理文件,其中包含以下行:

@cd /d %1 %2 %3 %4 %5 %6 %7 %8 %9

现在,您可以使用新的 CDD 命令执行以下操作:

C:>cdd d:

D:>cdd c:\documents 和设置

C:\Documents and Settings>cdd d:\data

D:\数据>

相关内容