它确实有效,因为该命令旨在正常工作。
您根本不知道它实际上应该如何工作。
您没有使用Unix或Linux Shell程序。在cd
微软的命令解释命令并不会像cd
在这种炮弹的命令去做。它的行为有些不同。特别是,它并不总是更改directory。在Unix和Linux Shell中,cd
仅设置工作目录。在Microsoft的命令解释器中,cd
有时会查询它。没有单独的pwd
命令,因此cd
有两个作业。
如果您不提供任何参数,或者仅提供驱动器号和不带路径的冒号作为参数,则它将报告当前目录,而不是对其进行更改。如果不提供任何参数,它将报告命令解释器进程的当前驱动器的当前目录。如果仅给它一个驱动器号和一个冒号作为参数,它将报告该驱动器的命令解释器进程的当前目录。每个驱动器在命令解释器中都有其自己的当前目录。(这是一种由Microsoft和其他一些供应商的各种编程语言实现的运行时库维护的小说。Win32本身无法以这种方式工作。)
因此,当您将其d:
作为参数时,它会向您报告驱动器D上命令解释器进程的当前目录,该目录恰好是D:\
。如果您不给它任何参数,它将C:\
向您报告。
如果要使该cd
命令始终处于设置模式而从不处于查询模式,则需要向其添加/D
选项。这将强制命令始终处于设置模式,并对其进行扩展,以使其更改当前驱动器以及更改驱动器的当前目录。(换句话说,它的工作方式更像基础Win32 API的实际工作。)
因此,例如,命令行
cd / dd:
会将目录更改为驱动器D上的当前目录,并且还将当前驱动器更改为驱动器D。
如果要以其他方式更改命令解释器进程的当前驱动器,cd
则无法使用该命令。您只需输入驱动器号和冒号即可:
d:
进一步阅读
pushd
在cd
很多地方使用它,因为在这种情况下它的表现要好得多。