Funciona did, pois o comando foi concebido para funcionar.
Você simplesmente não sabe como é suposto funcionar.
Não está a utilizar um programa de shell Unix ou Linux. O comando cd
no interpretador de comandos da Microsoft não se comporta como os comandos cd
em tais shells. Comporta-se de forma um pouco diferente. Em particular, _ nem sempre muda de directório_. Em shells Unix e Linux, o cd
apenas define o directório de trabalho. No interpretador de comandos da Microsoft, o cd
por vezes consulta-o. Não há nenhum comando pwd
separado, por isso cd
faz dois trabalhos.
Se não lhe der argumentos, ou um argumento que é apenas uma letra de drive e dois pontos sem caminho, então it reporta o directório actual em vez de o alterar. Se não lhe der argumentos, ele reporta o directório actual da drive actual do processo de interpretação de comandos. Se lhe der apenas uma letra de unidade e dois pontos como argumento, ele reporta o directório actual do processo de interpretação do comando dessa unidade. Cada drive tem o seu próprio directório actual no interpretador de comandos. (Esta é uma ficção mantida pelas bibliotecas de tempo de execução para as implementações da Microsoft e de vários outros fornecedores de várias linguagens de programação. Win32 em si não funciona desta forma)
Por isso, quando lhe deu o d:
como argumento, reportou-lhe o directório actual do processo de intérprete de comandos na drive D, que por acaso era o `D:## Funciona did, pois o comando foi concebido para funcionar.
Você simplesmente não sabe como é suposto funcionar.
Não está a utilizar um programa de shell Unix ou Linux. O comando cd
no interpretador de comandos da Microsoft não se comporta como os comandos cd
em tais shells. Comporta-se de forma um pouco diferente. Em particular, _ nem sempre muda de directório_. Em shells Unix e Linux, o cd
apenas define o directório de trabalho. No interpretador de comandos da Microsoft, o cd
por vezes consulta-o. Não há nenhum comando pwd
separado, por isso cd
faz dois trabalhos.
Se não lhe der argumentos, ou um argumento que é apenas uma letra de drive e dois pontos sem caminho, então it reporta o directório actual em vez de o alterar. Se não lhe der argumentos, ele reporta o directório actual da drive actual do processo de interpretação de comandos. Se lhe der apenas uma letra de unidade e dois pontos como argumento, ele reporta o directório actual do processo de interpretação do comando dessa unidade. Cada drive tem o seu próprio directório actual no interpretador de comandos. (Esta é uma ficção mantida pelas bibliotecas de tempo de execução para as implementações da Microsoft e de vários outros fornecedores de várias linguagens de programação. Win32 em si não funciona desta forma)
Por isso, quando lhe deu o d:
como argumento, reportou-lhe o directório actual do processo de intérprete de comandos na drive D, que por acaso era o . Se não lhe tivesse dado qualquer argumento, teria reportado o `C:## Funciona did, pois o comando foi concebido para funcionar.
Você simplesmente não sabe como é suposto funcionar.
Não está a utilizar um programa de shell Unix ou Linux. O comando cd
no interpretador de comandos da Microsoft não se comporta como os comandos cd
em tais shells. Comporta-se de forma um pouco diferente. Em particular, _ nem sempre muda de directório_. Em shells Unix e Linux, o cd
apenas define o directório de trabalho. No interpretador de comandos da Microsoft, o cd
por vezes consulta-o. Não há nenhum comando pwd
separado, por isso cd
faz dois trabalhos.
Se não lhe der argumentos, ou um argumento que é apenas uma letra de drive e dois pontos sem caminho, então it reporta o directório actual em vez de o alterar. Se não lhe der argumentos, ele reporta o directório actual da drive actual do processo de interpretação de comandos. Se lhe der apenas uma letra de unidade e dois pontos como argumento, ele reporta o directório actual do processo de interpretação do comando dessa unidade. Cada drive tem o seu próprio directório actual no interpretador de comandos. (Esta é uma ficção mantida pelas bibliotecas de tempo de execução para as implementações da Microsoft e de vários outros fornecedores de várias linguagens de programação. Win32 em si não funciona desta forma)
Por isso, quando lhe deu o d:
como argumento, reportou-lhe o directório actual do processo de intérprete de comandos na drive D, que por acaso era o `D:## Funciona did, pois o comando foi concebido para funcionar.
Você simplesmente não sabe como é suposto funcionar.
Não está a utilizar um programa de shell Unix ou Linux. O comando cd
no interpretador de comandos da Microsoft não se comporta como os comandos cd
em tais shells. Comporta-se de forma um pouco diferente. Em particular, _ nem sempre muda de directório_. Em shells Unix e Linux, o cd
apenas define o directório de trabalho. No interpretador de comandos da Microsoft, o cd
por vezes consulta-o. Não há nenhum comando pwd
separado, por isso cd
faz dois trabalhos.
Se não lhe der argumentos, ou um argumento que é apenas uma letra de drive e dois pontos sem caminho, então it reporta o directório actual em vez de o alterar. Se não lhe der argumentos, ele reporta o directório actual da drive actual do processo de interpretação de comandos. Se lhe der apenas uma letra de unidade e dois pontos como argumento, ele reporta o directório actual do processo de interpretação do comando dessa unidade. Cada drive tem o seu próprio directório actual no interpretador de comandos. (Esta é uma ficção mantida pelas bibliotecas de tempo de execução para as implementações da Microsoft e de vários outros fornecedores de várias linguagens de programação. Win32 em si não funciona desta forma)
Por isso, quando lhe deu o d:
como argumento, reportou-lhe o directório actual do processo de intérprete de comandos na drive D, que por acaso era o . Se não lhe tivesse dado qualquer argumento, teria reportado o .
Se quiser que o comando cd
esteja sempre em modo set e nunca em modo query_ precisa de lhe adicionar a opção /D
. Isto força o comando a estar sempre em modo set, e também o amplia para que mude a drive actual, bem como para alterar o directório actual de uma drive. (Por outras palavras, funciona mais como a API Win32 subjacente.)
Por exemplo, a linha de comandos
cd /d d:
irá mudar o directório para qualquer que seja o directório actual da drive D, e também mudar a drive actual para a drive D.
Se quiser mudar a drive actual do processo de interpretação de comandos, caso contrário, o comando cd
não é o caminho. Fá-lo simplesmente digitando a letra da unidade e dois pontos:
d:
Leitura adicional
- JP Software (2011). CD/CHDIR TCC On-line Help.
- Microsoft Corporation (2001). Chdir (CD) . TechNet Windows XP Referência da linha de comando A-Z.