Windows cmd中CD / D切换的原因是什么?

时间:2015-09-25 12:00:47

标签: windows command-line cmd command-prompt cd

首先,我想说明白 Windows命令提示符/D切换的目的 {{1}命令。我只是好奇为什么它以这种方式工作,而不是其他方式。众所周知,它做到了以下几点:

  

除了更改驱动器的当前目录外,还可以使用 / D 开关更改当前驱动器。

但是每次我输入(例如)cd时,它都很明显,我想要更改驱动器。这就是为什么我认为这种转换本身就是多余的。

那么明确设置此开关的重点是什么? 为什么默认情况下不暗示?

2 个答案:

答案 0 :(得分:6)

简短回答:因为DOS表现得这样,cmd试图模仿DOS。

最初,DOS为每个驱动器都有一个“当前导演”,所以如果你写cd d:\folder,你就会更改D驱动器的当前目录。

您可以在此处详细了解: http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx

答案 1 :(得分:5)

你必须记住,DOS可以追溯到我们甚至让鼠标剪切和粘贴文本以及屏幕是80x25文本之前。额外的打字,特别是如果你必须记住一些东西并在以后输入它,是非常痛苦的。现在想象一下尝试在多个驱动器上工作。如果只有一个当前目录,则必须在当前驱动器以外的驱动器上完全指定目录。这需要写下其他驱动器上的路径,因为它们不会停留在屏幕上。哎哟。

所以你可以这样做:

dir a:           <- See what dir I need
cd a:foo         <- This one
dir a:           <- See what file
dir b:           <- See what dir I need
cd b:bar         <- This one
dir b:           <- See what file
a:program b:data <- use them both

否则,它将是:

dir a:                <- See what dir I need
cd a:foo              <- This one
dir a:                <- See what file (lots of scroll)
dir b:\               <- See what dir I need (scroll)
cd b:\bar             <- This one
dir b:                <- See what file (lots of scroll)
a:\foo\program b:data <- use them both (had to remember "foo")

现在想象它不止一个目录。

现在,假设程序不支持子目录,并且需要在两个不同的驱动器上传递两条路径。