Usando o comando cd na linha de comando do Windows, não é possível navegar para D: \

196

Esta pode ser uma pergunta estúpida, e acho que procurei em outro lugar para encontrar a resposta ... Pode ser um problema de caminho, mas quando eu abro a linha de comando e digito do C:\> :

cd D:\

Não consigo acessar a unidade D. Mesmo se eu digitar:

cd D:\<folder name>

O command.exe completará automaticamente a linha com a tecla tab, para saber onde estou. Ele simplesmente não imprime para exibir o resultado ou realmente me leva até lá. Esse problema existe para as unidades de rede também.

Agora, se eu usar o comando chdir ( cd ) desta forma:

chdir D: ou cd d:

Eu recebo a impressão do D:\ abaixo do comando, mas ele ainda diz que estou no C:\ .

Eu sinto que estou sentindo falta de algo simples.

    
por nicorellius 27.04.2010 / 17:35

9 respostas

283

Voltando aos dias do DOS, há um "diretório atual" separado para cada unidade. cd D:\foldername altera o diretório atual de D: para o nome da pasta especificado, mas não altera o fato de que você ainda está trabalhando na unidade C: .

O que você quer é simples:

D:

Aqui você pode ver como a coisa "separar o diretório atual de cada unidade" funciona:

C:\Users\coneslayer>e:

E:\>c:

C:\Users\coneslayer>cd e:\software

C:\Users\coneslayer>e:

e:\Software>
    
por 27.04.2010 / 17:38
74

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.
por 19.01.2012 / 15:17
45

Com medo disso está incorreto. É verdade desde os dias do DOS, mas a linha de comando no Windows NT e posterior não é DOS. Na linha de comando que todos usam hoje, você tem a opção / D. A opção / d mudará o diretório atual da unidade especificada E mudará para esse diretório. A opção / d deve ser especificada antes do caminho. Por exemplo:

C:\> cd /d D:\foo\bar\
D:\foo\bar\>

    
por 27.04.2010 / 18:28
19

CD significa C hange iretório, e não Alterar unidade. Então, não mudaria para D: assim. Para conseguir isso, você teria que simplesmente digitar a letra da unidade

por exemplo,

d:

    
por 19.01.2012 / 08:58
9

O diretório de trabalho em cmd.exe é mantido em volume-by-volume basis; o Diretório de Trabalho da unidade C: é diferente do diretório de trabalho da unidade D: .

Quando você passar apenas uma letra de unidade para cd , ele imprimirá o diretório de trabalho da unidade especificada.

No seu caso, o diretório de trabalho da unidade D: é a própria raiz do volume, D:\ .

Para alterar os volumes de C: para D: , basta digitar a letra da unidade:

C:\>D:
D:\>
    
por 19.01.2012 / 09:12
8

Use cd / D D: para fazer isso. Você pode especificar caminhos também.

    
por 19.01.2012 / 14:33
5

Se você quiser alterar a unidade em um prompt de comando do DOS, basta escrever:

[Drive Letter]:

Por exemplo, se você deseja mover para a unidade D: \, basta digitar o seguinte em um prompt de comando:

D:
    
por 19.01.2012 / 16:52
2

pushd funciona mesmo quando você precisa acessar o subdiretório, por exemplo D:\Tests\Logs .

Use-o assim:

pushd D:\Tests\Logs

Se você quiser voltar ao diretório anterior, use popd :

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
    
por 27.07.2016 / 23:59
0

Enquanto você vai procurar a opção na barra de ferramentas e procurar por cmd ou selecionando janelas Todos os aplicativos selecionando prompt de comando, em seguida, leva para algum outro prompt de comando. Em vez disso, tente pressionar o botão do Windows + R e procure por cmd que leva para C: > dirigir. De lá, você pode navegar para D: > ou em qualquer lugar que você precisar

    
por 24.06.2016 / 00:24