Ele funcionou , pois o comando foi projetado para funcionar.
Você simplesmente não sabe como isso realmente funciona.
Você não está usando um programa shell Unix ou Linux. O comando cd
no interpretador de comandos da Microsoft não se comporta como os comandos cd
em tais shells. Ele se comporta de maneira um pouco diferente. Em particular, nem sempre muda de diretório . Em shells Unix e Linux, cd
apenas define o diretório de trabalho. No interpretador de comandos da Microsoft, cd
às vezes o consulta. Não há um comando pwd
separado, então cd
faz dois trabalhos.
Se você não fornecer argumentos, ou um argumento que seja apenas uma letra de unidade e dois pontos sem um caminho, então ele relata o diretório atual em vez de alterá-lo . Se você não fornecer argumentos, ele relata o diretório atual da unidade atual do processo do interpretador de comandos. Se você fornecer apenas uma letra de unidade e dois-pontos como argumento, ele relata o diretório atual do processo do interpretador de comandos dessa unidade. Cada unidade possui seu próprio diretório atual no interpretador de comandos. (Essa é uma ficção mantida pelas bibliotecas de tempo de execução das implementações da Microsoft e de vários outros fornecedores de várias linguagens de programação. O próprio Win32 não funciona dessa maneira.)
Então, quando você deu a d:
como argumento, ele relatou o diretório atual do processo do interpretador de comandos na unidade D para você, que era D:\
. Se você não tivesse dado nenhum argumento, ele teria reportado C:\
para você.
Se você quiser que o comando cd
esteja sempre no modo de configuração e nunca esteja no modo de consulta , você precisa adicionar a opção /D
a ele. Isso força o comando a estar sempre no modo de configuração e também o estende para que ele altere a unidade atual e também altere o diretório atual de uma unidade. (Em outras palavras, funciona mais como a API do Win32 subjacente faz.)
Então, por exemplo, a linha de comando
cd /d d:
mudará o diretório para qualquer diretório atual na unidade D e também mudará a unidade atual para a unidade D.
Se você quiser alterar a unidade atual do processo do interpretador de comandos, o comando cd
não é o caminho. Você faz isso simplesmente digitando a letra da unidade e dois-pontos:
d:
Outras leituras
- JP Software (2011). CD / CHDIR Ajuda on-line do TCC.
- Microsoft corporation (2001). Chdir (CD) . TechNet Windows XP Referência de linha de comando A – Z.