Qual é a razão para o interruptor CD /D no cmd do Windows?

A princípio, gostaria de dizer que compreendo o propósito do interruptor para o comando do Windows. cd comando. Só estou curioso porque é que funciona assim, e não assim. Como todos sabemos, ele faz o seguinte:

Use a opção /D para mudar a unidade actual, para além de mudar a pasta actual para uma unidade.

Mas cada vez que eu entro (por exemplo) cd F:, é óbvio o suficiente que eu gostaria de mudar unidade. É por isso que eu penso que este interruptor é redundante por si só.

Então, qual é o objectivo de activar explicitamente este interruptor? Por que não está implícito por defeito?

Author: kefir500, 2015-09-25

2 answers

Resposta curta: porque os se comportaram assim, e cmd tenta imitar DOS.

Originalmente, o DOS tinha um 'director actual' para cada unidade, por isso, se escrever cd d:\folder, muda a pasta actual para a unidade D.

Pode ler mais sobre isto aqui.: http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx
 5
Author: Mark Segal, 2015-09-25 12:05:45
É preciso lembrar que o DOS data de antes de termos ratos para cortar e colar texto e quando os ecrãs eram texto 80x25. Dactilografia Extra, especialmente se você teve que lembrar de algo e digitar mais tarde, foi extremamente doloroso. Agora imagine tentar trabalhar em mais de uma unidade. Com apenas um diretório atual, você teria que especificar completamente diretórios em unidades que não a unidade atual. Isso exigiria escrever os caminhos dos outros discos, porque eles não iriam ficar. ecra. Ai.

Em vez disso, podias fazer:

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
Caso contrário, seria:
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")
Agora imagine que tem mais do que um directório de profundidade.

E agora, imagine se o programa não suporta subdiretórios e você precisa passar dois caminhos para ele em duas unidades diferentes.

 5
Author: David Schwartz, 2015-09-25 12:14:28