Possível duplicata:
Usando o comando cd na linha de comando do Windows, não é possível navegar para D:\
Toda vez que desejo alterar o contexto do diretório para outra unidade (D, E, F ou qualquer outra) em um prompt de comando do Windows, devo usar "Drive letter":\
o comando para realmente alterá-lo. Se eu tentar com"comando cd"nele cd H:\
apenas echo H:\ for me e não faça nada:
Existe alguma razão para tal comportamento? Quero dizer, não deveria cd command
trabalhar para fazer isso? Por que não?
Responder1
Tentar:
cd /d d:
/d
também mudará letras de unidade, bem como diretórios; para outras informações, consultecd /?
Responder2
A razão pela qual o Windows se comporta dessa maneira é porque o DOS se comportou dessa maneira.
No DOS, cada unidade possui seu próprio diretório atual e o cd
comando altera o diretório atual em uma unidade. Se esse também for o atualdirigir, então seu diretório de trabalho muda junto com ele. Se quiser alterar a unidade atual, basta especificar a letra da unidade como um comando.
Observa que o Windows na verdade nãotrabalhardesta forma - você só tem um diretório atual a qualquer momento - mas o shell de comando faz de tudo para fingir que ainda existem diretórios atuais por unidade. Presumivelmente, isso é para preservar a compatibilidade com os arquivos em lote do DOS existentes.
A razão pela qual o DOS funciona dessa maneira remonta às primeiras versões do DOS e ao CP/M antes dele. Os detalhes sangrentos podem ser encontrados emBlog de Raymond Chen.
Responder3
A resposta direta é "porque não foi escrito para funcionar dessa maneira". Basta entrar D:
e você fará o que quiser.
Curiosamente, inserir cd D:\somedir
irá, de fato, alterar o diretório atual em D: para \data, mas não alterará o prompt de comando atual para D:.