Não consigo navegar para o diretório do meu cartão SD usando o cmd nas janelas [duplicado]

2

Eu tenho um pro 3 de superfície com um cartão SD de 32GB. Eu configurei o local do OneDrive para este cartão SD (já que eles removeram o recurso de espaço reservado e, portanto, sou forçado a baixar tudo). A letra da unidade atribuída ao cartão SD é D:\ , verificada por disk management utility.

O problema é que eu não consigo acessar este drive / cartão com a linha de comando - tanto o regular quanto o admin elevado. isto é, o comando cd D:\ simplesmente não retorna nada e permanece na pasta atual.

Isso está causando algumas ferramentas de linha de comando para quebrar no meu computador, uma vez que não retorna um erro (mas nada parece funcionar).

A resposta marcada abaixo está correta. No entanto, para mais informações, tente CD do CMD para outras unidades, exceto C: \ não funciona

    
por masfenix 13.05.2016 / 02:48

2 respostas

3

Desvincule o Linux, o Windows é estranho.

Basta digitar este comando

D:

ou

D:\

Isso mudará para a unidade

por 13.05.2016 / 02:51
5

O Windows tem o conceito de caminhos atuais por unidade, pelo menos no shell. Este é dos velhos tempos em que você poderia estar trabalhando com dois disquetes e ter pastas diferentes abertas neles e você estava alternando entre eles. E, na verdade, as subpastas foram introduzidas apenas no DOS 2.0, creio eu, e antes disso havia apenas unidades diferentes e sem barras invertidas e sem cd .

Portanto, a comutação de unidades é feita assim:

C:\> D:

D:\>

... enquanto muda um dos diretórios atuais é feito usando cd assim:

D:\> cd relative_folder

D:\relative_folder> cd D:\absolute_folder

D:\absolute_folder>

É possível alterar o diretório em outra unidade sem alternar para essa unidade, e é isso que você estava fazendo acidentalmente:

D:\absolute_folder> cd C:\test

D:\absolute_folder> C:

C:\test> D:

D:\absolute_folder>

Também é possível se referir ao caminho atual de outra unidade apenas especificando a letra da unidade sem barra invertida:

D:\absolute_folder> dir C:
Directory listing of C:\test
...

D:\absolute_folder> dir C:hello
Directory listing of C:\test\hello
...

D:\absolute_folder> dir C:\
Directory listing of C:\
...

D:\absolute_folder>

E a solução para o seu problema: No Windows moderno, o comando cd tem uma opção /d para alternar implicitamente as unidades também:

D:\absolute_folder> cd /d C:\something

C:\something>

Nota lateral: os caminhos atuais para a unidade individual (para o processo atual - os caminhos atuais são por processo!) são armazenados como variáveis de ambiente ocultas mágicas chamadas =C: , =D: etc.

Você não pode atribuí-los normalmente devido ao sinal de igual, mas você pode visualizá-los usando echo %=C:% e tal ou listando todas as variáveis de ambiente, incluindo as ocultas usando um hack (observe o doublequote):

C:\something> set "
=C:=C:\something
=D:=D:\absolute_folder
...

Você também pode ver o caminho atual de outra unidade usando cd com uma letra de unidade sem nenhum caminho:

C:\something> cd D:
D:\absolute_folder

C:\something>

Para obter mais informações, verifique: link

(Note que fora do shell, os programas não precisam se preocupar com isso, porque há apenas um diretório de trabalho atual que o sistema Windows usará, não um por unidade. O material "por unidade" é apenas uma coisa construída no topo pelo shell, porque funcionava assim desde o DOS.)

    
por 13.05.2016 / 08:07

Tags