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


226

这可能是一个愚蠢的问题,我想我已经在其他地方找了答案...可能是路径问题,但是当我打开命令行并从以下命令键入内容时C:\>

cd D:\

我无法进入D盘。即使我输入:

cd D:\<folder name>

command.exe系统会自动完成使用Tab键行,因此它知道我在哪里。它只是无法打印以显示结果或实际上无法使我到达那里。网络驱动器也存在此问题。

现在,如果我像这样使用chdircd)命令:

chdir D: 要么 cd d:

我从D:\命令下面获取打印内容,但仍然显示我在命令中C:\

我觉得我缺少一些简单的东西。


我一直pushdcd很多地方使用它,因为在这种情况下它的表现要好得多。
Goyuix 2012年

5
请参阅此答案“ cd / d D:superuser.com/a/135239/78897
Pacerier,2014年

1
试试这个:cd / dd:
DevWL

Answers:


324

回到DOS时代,每个驱动器都有一个单独的“当前目录”。 cd D:\foldername将D:的当前目录更改为指定的文件夹名称,但不会更改您仍在C:驱动器上的事实。

您想要的很简单:

D:

在这里,您可以看到“每个驱动器的当前目录分开”的工作方式:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>

16
在“西方最快的枪支”的情况下,获胜者是做出最佳解释的人。+1,然后删除类似的答案。
Gnoupi

2
也删除了我的。无需额外的混乱。
th3dude

3
-1 a)您尚未指出该cd e:\software行没有执行任何操作。好像您在其中插入了幻像CD命令一样,为什么?让他认为您不是在使用CD吗?b)地球上您怎能不提及/d在不同驱动器上的特定目录上启用CD他确实说过使用cd命令,所以虽然您指出了如何使用CD命令可以做到这一点很好,但d:<ENTER>您应该提到以及CD命令cd /d d:还是cd /d d:\blah
barlop

3
@barlop cd E:\software不执行任何操作。它改变当前目录对E分区software文件夹,这是最后的时候切换到与E分区什么证明E:。与cd / d很好的建议。
miyalys,2016年

@miyalys有趣而有趣的地方
barlop

78

确实有效,因为该命令旨在正常工作。

您根本不知道它实际上应该如何工作。

您没有使用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:

进一步阅读

  • JP软件(2011)。CD / CHDIR TCC在线帮助。
  • 微软公司(2001)。Chdir(CD)。TechNet Windows XP命令行参考A–Z。


3
不完全正确。如果这样做cd d:\ ,将在上更改工作目录d:。如果您d:\ 之后进行操作,它将在d:\ 。如果您不进行cd d:\something\something任何操作,一开始将不会发生任何事情。但是,如果您d:\ 再次执行此操作,那么您的道路将会是d:\something\something"
sinni800 2012年

4
没有一个与上面的内容有任何抵触sinni800((除了让您错误地更改当前驱动器的语法之外,就是这样,但我会忽略这一点)。我没有讨论在一个参数中提供路径名时会发生什么,因为(a)不是问题所在,并且(b)在进一步阅读中。
JdeBP 2012年

6
没有,我们没有。在这里谈论分区而不是驱动器是错误的user unknown。对于初学者,分区与卷不同,并且驱动器号映射到卷而不是分区。当人们在这种抽象级别上讲话时,驱动器号当前驱动器是此处所用的常规术语,用于所指示的进一步阅读甚至cd /?帮助文本中。
JdeBP 2012年

2
我使用此命令至少已有20年了,却从不知道。
克里斯·巴伦斯

54

害怕这是不正确的。从DOS时代开始就是如此,但是Windows NT和更高版本中的命令行不是DOS。在今天每个人都使用的命令行中,您具有/ D开关。/ d开关将更改指定驱动器的当前目录,然后更改到该目录。/ d开关必须在路径之前指定。例如:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

Windows命令提示符cd


4
+1是因为我学到了新东西,但我认为自己写的任何东西都不对。
锥杀手

3
您的答案也是正确的,Multiverse IT,但锥击并不是错误的。感谢您的努力。在这个问题上,我学到了两个绝妙的技巧。
nicorellius

2
在我看来,“您想要的只是简单... D:”是不正确的。是的,它是有效的,并且是实现目标的有效方法,但严格地说,他不是想要的。此外,注释的措词方式意味着您不能使用CD来执行此操作-含义不正确。
Multiverse IT

1
他的主要问题是“我无法进入D盘”。因此,另一个答案是正确的。您的解决方案只需少一步(很好)。它不会使另一个错误。
Gnoupi 2010年

1
嗯,“他应该想要什么。” 听起来很推定;-)
nicorellius 2012年

20

CD代表 ç焊割 d irectory,而不是更改驱动器。因此它不会更改为D:。为此,您只需输入驱动器号

例如

d:


16
cd / DD:更改驱动器和目录...
Michael S.

但是d:是一个分区,而不是驱动器。
用户未知

1
@userunknown在设计外壳程序的Dos 1.0时代,只有AFAIK不能分区的软盘。最初的hardrive支持仅适用于驱动器上的主(第一个)分区。直到后来才添加了扩展分区支持。
Dan Neely 2012年

我没有看到MS-DOS 1.0标记,也没有提到1.0。也许您无法使用MS-DOS程序对驱动器进行分区,但是您可以在分区驱动器上安装MS-DOS。我猜想MS-DOS不在支持之列,并且标签在那里,因为许多用户认为cmd.exe和MS-DOS的含义相同,这是另一个要解决的错误。Apropos:从未发布过MS-DOS 1.0。
用户未知

1
@userunknown设计决策可以追溯到DOS的初始版本。更改行为会破坏较旧的程序(请参见下面的Daniel Beck的评论)。PS; 根据维基百科MS DOS 1.x发布。
丹·尼利

9

cmd.exe中的工作目录是volume-by-volume基于基础维护的;该C:驱动器的工作目录不同于该驱动器的工作目录 D:

当您仅将驱动器号传递给时cd,它将打印指定驱动器的工作目录。

在您的情况下,D:驱动器的工作目录是卷根本身D:\

要将卷从更改为C:D:只需输入驱动器号:

C:\>D:
D:\>

2
cd / DD:更改驱动器和目录...
Michael S.

1
分区映射到驱动器号,并且实际上与驱动器相同。您还可以映射目录或共享到驱动器,它们的行为相同。
马蒂·弗里德


5

如果要在DOS命令提示符下更改驱动器,则只需编写:

[Drive Letter]:

例如,如果要移动到D:\驱动器,则只需在命令提示符下键入以下内容:

D:

您使用更改分区[Drive Letter]:,请相信我或对其进行测试!
用户未知

哦,哇,这使事情变得容易得多。我总是忘记/d这样做,因此切换速度更快。
Mateen Ulhaq

2

pushd即使您需要进入驱动器子目录也可以工作D:\Tests\Logs

只是这样使用:

pushd D:\Tests\Logs

如果要返回上一个目录,请使用popd

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>

0

当您要在工具栏中搜索选项并搜索cmd或通过选择Windows All app选择命令提示符时,它将转到其他命令提示符。而是尝试按Windows按钮+ R并搜索需要C:>驱动器的cmd。从那里您可以导航到D:>或您需要的任何位置

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.