2010-04-27 15:35:09 +0000 2010-04-27 15:35:09 +0000
235
235

Usando o comando cd na linha de comando do Windows, não consigo navegar para D:\

Esta pode ser uma pergunta estúpida, e acho que procurei a resposta noutro sítio… Pode ser um problema de caminho, mas quando abro a linha de comando e digito a partir do comando C:\>:

cd D:\

não consigo chegar à drive D. Mesmo que eu digite:

cd D:\<folder name>

O command.exe irá auto-completar a linha com a tecla tab, para saber onde estou. Só não imprime para visualizar o resultado ou para me levar até lá. Este problema existe também para as unidades de rede.

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

chdir D: ou cd d:

Eu tiro a impressão do D: Esta pode ser uma pergunta estúpida, e acho que procurei a resposta noutro sítio... Pode ser um problema de caminho, mas quando abro a linha de comando e digito a partir do comandoC:>`:

cd D:\

não consigo chegar à drive D. Mesmo que eu digite:

cd D:\<folder name>

O command.exe irá auto-completar a linha com a tecla tab, para saber onde estou. Só não imprime para visualizar o resultado ou para me levar até lá. Este problema existe também para as unidades de rede.

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

chdir D: ou cd d:

Eu tiro a impressão do abaixo do comando mas ainda diz que estou no C: Esta pode ser uma pergunta estúpida, e acho que procurei a resposta noutro sítio... Pode ser um problema de caminho, mas quando abro a linha de comando e digito a partir do comandoC:>`:

cd D:\

não consigo chegar à drive D. Mesmo que eu digite:

cd D:\<folder name>

O command.exe irá auto-completar a linha com a tecla tab, para saber onde estou. Só não imprime para visualizar o resultado ou para me levar até lá. Este problema existe também para as unidades de rede.

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

chdir D: ou cd d:

Eu tiro a impressão do D: Esta pode ser uma pergunta estúpida, e acho que procurei a resposta noutro sítio... Pode ser um problema de caminho, mas quando abro a linha de comando e digito a partir do comandoC:>`:

cd D:\

não consigo chegar à drive D. Mesmo que eu digite:

cd D:\<folder name>

O command.exe irá auto-completar a linha com a tecla tab, para saber onde estou. Só não imprime para visualizar o resultado ou para me levar até lá. Este problema existe também para as unidades de rede.

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

chdir D: ou cd d:

Eu tiro a impressão do abaixo do comando mas ainda diz que estou no .

Sinto que estou a perder algo simples.

Respostas (9)

334
334
334
2010-04-27 15:38:06 +0000

Voltando aos dias do DOS, existe um “directório actual” separado para cada unidade. cd D:\foldername muda o directório actual de D: para o nome de dobra especificado, mas não altera o facto de ainda estar a trabalhar na unidade C:.

O que pretende é simples:

D:

Aqui pode ver como funciona o “directório actual separado para cada unidade”:

C:\Users\coneslayer>e:

E:\>c:

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

C:\Users\coneslayer>e:

e:\Software>
78
78
78
2012-01-19 14:17:48 +0000

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.
55
55
55
2010-04-27 16:28:25 +0000

Receio que isto esteja incorrecto. É verdade desde os dias do DOS, mas a linha de comando no Windows NT e mais tarde não é o DOS. Na linha de comando que todos usam hoje, você tem o /D switch. O comutador /d irá mudar o directório actual da unidade especificada E mudar para esse directório. O comutador /d deve ser especificado antes do caminho. Por exemplo:

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

20
20
20
2012-01-19 07:58:57 +0000

CD* significa C hange D* irectory, e não Change Drive. Assim, não mudaria para D: dessa forma. Para o conseguir teria que simplesmente digitar a letra de unidade

e.g.

d:

9
9
9
2012-01-19 08:12:06 +0000

O directório de trabalho em cmd.exe é mantido na base de volume-by-volume; o directório de trabalho para a unidade C: é diferente do directório de trabalho para a unidade D:.

Quando passar apenas uma letra da unidade para cd, esta imprimirá o directório de trabalho para a unidade especificada.

No seu caso, o directório de trabalho da unidade D: é a própria raiz do volume, D:O directório de trabalho em cmd.exe é mantido na base devolume-by-volume; o directório de trabalho para a unidadeC:é diferente do directório de trabalho para a unidadeD:`.

Quando passar apenas uma letra da unidade para cd, esta imprimirá o directório de trabalho para a unidade especificada.

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

Para alterar volumes de C: para D: basta introduzir a letra da unidade:

C:\>D:
D:\>
8
8
8
2012-01-19 13:33:59 +0000

Usecd /D D: para fazer isto. Pode também especificar os caminhos.

5
5
5
2012-01-19 15:52:42 +0000

Se quiser mudar de unidade num prompt de comando DOS, basta escrever:

[Drive Letter]:

Por exemplo, se quiser mudar para a unidade D:\, basta escrever o seguinte num prompt de comando:

D:
2
2
2
2016-07-27 21:59:20 +0000

pushd funciona mesmo quando é necessário ir ao subdirectório da unidade, por exemplo D:\Tests\Logs.

Basta usá-lo:

pushd D:\Tests\Logs

Se quiser voltar ao directório anterior, use popd:

C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
0
0
0
2016-06-23 22:24:36 +0000

Enquanto você vai procurar na barra de ferramentas e procurar por cmd ou selecionando a janela Todas as aplicações selecionando o prompt de comando, então ele leva para algum outro prompt de comando. Em vez disso, tente pressionar o botão windows + R e procure por cmd que leva a C:> drive. De lá você pode navegar para D:> ou para qualquer lugar que você precise