Ele fez o trabalho, como o comando é projetado para funcionar.
Você simplesmente não sabe como realmente deve funcionar.
Você não está usando um programa de shell Unix ou Linux. O cd
comando no interpretador de comandos da Microsoft não se comporta como os cd
comandos nessas conchas. Comporta-se de maneira um pouco diferente. Em particular, nem sempre muda o diretório . Nos 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á pwd
comando separado , o mesmo cd
acontece com dois trabalhos.
Se você não fornecer argumentos ou um argumento que seja apenas uma letra de unidade e dois pontos sem um caminho, ele informará o diretório atual em vez de alterá-lo . Se você não fornecer argumentos, ele reportará o diretório atual da unidade atual do processo do interpretador de comandos. Se você der apenas uma letra de unidade e dois pontos como argumento, ele informará 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. (Esta é uma ficção mantida pelas bibliotecas de tempo de execução das implementações de várias linguagens de programação da Microsoft e de vários outros fornecedores. O Win32 em si não funciona dessa maneira.)
Portanto, quando você o apresentou d:
como argumento, ele relatou o diretório atual do processo do interpretador de comandos na unidade D para você, o que aconteceu D:\
. Se você não tivesse argumentado, teria relatado C:\
a você.
Se você deseja que o cd
comando esteja sempre no modo definido e nunca no modo de consulta, é necessário adicionar a /D
opção a ele. Isso força o comando a sempre estar no modo de configuração e também o estende para que altere a unidade atual e também altere o diretório atual da unidade. (Em outras palavras, funciona mais como a API Win32 subjacente realmente funciona.)
Então, por exemplo, a linha de comando
cd / dd:
mudará o diretório para o diretório atual na unidade D e também a unidade atual para a unidade D.
Se você quiser alterar a unidade atual do processo do interpretador de comandos, o cd
comando não é o caminho. Você faz isso simplesmente digitando a letra da unidade e dois pontos:
d:
Leitura adicional
- JP Software (2011). CD / CHDIR TCC Ajuda on-line.
- Corporação Microsoft (2001). Chdir (CD) . Referência de linha de comando do TechNet Windows XP A – Z.
pushd
no lugar decd
praticamente todos os lugares, pois se comporta muito melhor em situações como esta.