cd不会在Windows 7中更改目录


20

可能重复:
在Windows命令行中使用cd命令,无法导航到D:\
CMD cd到除C:\以外的其他驱动器上不起作用

我正在cmd.exeWindows 7(而不是Powershell)上工作。我的驱动器上有2个分区,C包含操作系统和已安装的程序,D包含我的数据。我试图cd从C到D,但cmd不允许我这样做:

C:\>cd D:\

C:\>

但是,当我键入时dir D:\,它将正确列出D的内容。为什么要这样做,我该如何解决?Powershell可以正常工作,因此我可以使用它,但是我想知道是什么导致了cmd不当行为。


有人可以制作msdos标签吗?我认为这个问题对于1.0以上的所有版本的DOS有效。如果我没记错的话,CP / M没有这个概念,但是您可以通过在driveletter:前面加上文件名来解决单独的驱动器。我认为这很重要,因为对于没有经历DOS时代的人来说这是一个有效的问题,而不是Windows 7的问题。
斯图尔特·伍德沃德

@StuartWoodward实际上DOS 1.0没有子目录-它们是在2.0中引入的。
Jesse Slicer

Answers:


33

您必须使用just d: ,而不是cd d:\

编辑:也可以cd /d d:使用cd更改驱动器


我不太确定为什么要做出该设计决定,而我正在寻找它,但这只是它一贯的做法。
soandos

@ astay13参见编辑。
soandos

1
@soandos cd代表“更改目录”,它D:是驱动器,而不是目录。有关更多详细信息,请参见David的答案
Izkata 2011年

@Izkata为什么您不能使用用于转到不同文件夹的相同语法更改到其他驱动器上的目录?我就是这么说的
soandos 2011年

它确实更改了目录:例如:C:\> cd D:\ test,确实更改了磁盘D:上的当前目录以进行测试,但是提示符仍然在C:
Sebastian Godelet 11/11/27

28

Windows为每个驱动器跟踪一个单独的工作目录。您当前位于工作目录“ \”中的“ C”驱动器上。键入时cd d:\,会将“ D”驱动器的工作目录更改为“ \”,并且对C驱动器的工作目录无效。要更换驱动器,只需键入D:。您可以使用/d参数来同时更改两者cd


3
实际上,发问者说xe正在运行的Windows(Windows NT 6.1)从未(自1993年以来)就没有为每个驱动器提供单独的工作目录。每个进程有一个工作目录。在外观跨多个驱动器的多个工作目录是由微软的命令解释器和语言的运行时库维护的小说,使用隐藏的环境变量。
JdeBP


@JdeBP隐藏的环境变量是否为每个驱动器跟踪单独的工作目录?Microsoft的命令解释器及其语言的运行库是否是Windows的一部分?
David Schwartz

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.