Veja as unidades disponíveis na CLI do Windows?

98

Existe uma maneira de listar as unidades disponíveis no cmd.exe? (Exceto digitando manualmente

c:
d:
...

e ver quais retornam erros)

Cristi Diaconescu
fonte

Respostas:

119
> wmic logicaldisk get caption

Caption
C:
D:
E:

se provavelmente o mais fácil. Não precisa de privilégios administrativos, não retorna mais ou menos do que o necessário, etc.

Se você deseja usá-lo em um script, envolva-o for /fcom a skip=1opção:

for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do @echo.%%x
Joey
fonte
1
apenas para usuários com direitos de administrador
Carlos Campderrós
1
@ CarlosCampderrós: ​​funciona bem para mim a partir de uma conta de usuário limitada.
Joey
1
Citando support.microsoft.com/en-us/kb/290216 "O Wmic.exe pode ser usado apenas pelos administradores locais do sistema, independentemente das permissões de espaço de nome WMI na máquina local" e falhou na minha máquina (uma VM com winXP )
Carlos Campderrós
4
Funcionou muito bem em uma conta de não administrador no Windows 8.1 aqui. Observe que o artigo da KB se aplica apenas a sistemas operacionais herdados.
Joey
1
@ Joey, por que em captionvez de wmic logicaldisk get name ?
Pacerier
64

Se você estiver no prompt de comando:

diskpart

então

volume da lista

saída de amostra:

  Volume ### Ltr Etiqueta Fs Tipo Tamanho Status Informações
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
  Volume 0 E DVD-ROM 0 B Sem mídia
  Volume 1 System Rese NTFS Partition 100 MB Sistema Saudável
  Partição NTFS do sistema C do volume 2 C inicialização íntegra de 99 GB
  Dados F do volume 3 (partição NTFS local 365 GB íntegra

e finalmente

Saída

para retornar à linha de comando.

Mike Fitzpatrick
fonte
ao contrário do comando net use , isso listará apenas unidades físicas locais. (. eu acho) ver diskpart no TechNet e diskpart em support.microsoft.com
quack quixote
3
diskpartprecisa de privilégios administrativos. Se você quiser apenas uma lista de letras de unidade, é pedir muito ...
Joey
'diskpart' não é reconhecido como um comando interno ou externo,
Karl Morrison
18

Por uma questão de completude, existe ainda outra maneira:

fsutil fsinfo drives

que retorna:

Drives: C:\ D:\ E:\ F:\

(Não é uma saída muito amigável para scripts, mas pode ser útil para o olho humano)

Alguma referência . Isso deve funcionar desde o win2k, mas apenas com a conta de administrador.

(Obrigado @Carlos Campderrós por melhorar a resposta)

saulius2
fonte
4
Deve-se notar que isto só funciona se você estiver usando uma conta de administrador
Carlos Campderrós
@ CarlosCampderrós Eu não acho isso correto. Eu posso rodar fsutilcom um usuário limitado, e o resultado é muito mais rápido do que acelerar o wmicsistema. Na minha caixa com apenas SSDs executando o Windows 10 v 1803, wmicleva 100-200ms e fsutilleva ~ 20ms.
Mrm 20/09/2018
@mrm, algumas versões do Windows (ou release ou build do w10) provavelmente perderam essa restrição. Testei isso no wxp e no w7pro e ele falhou sem uma conta de administrador (AFAIR).
Saulius2 /
Eu segundo a observação por @ saulius2
Fr0zenFyr 18/07
7

Se você estiver usando o PowerShell, poderá digitar

get-psdrive -psprovider filesystem

Editado em resposta a comentários para mostrar apenas sistemas de arquivos

Matthew Steeples
fonte
Isso também retornará outras unidades que não são do sistema de arquivos montadas, como Cert :, Alias: e Function :. Além disso, ele retornará outros diretórios do sistema de arquivos montados como um PSDrive (como Home: for% UserProfile% for me).
Joey
Esta é a única resposta que funcionou para mim. Todas as outras soluções parecem exigir acesso de administrador. (Pelo menos no meu sistema horrivelmente desatualizado Windows XP.)
Ajedi32
5

Use a função incorporada doskey para criar um alias que execute o comando wmic com os atributos necessários

doskey v=wmic logicaldisk get caption

Isso criará um apelido "v" que, sempre que digitado, executará o comando fornecido e listará todas as letras de volume.

user216496
fonte
oh bom, não sabia sobre doskey (como o PowerShell Set-Alias)
BananaAcid
Resposta altamente subestimada, uso o CMD há anos e nunca percebeu aliases.
Hashim
5
wmic logicaldisk get volumename,name

Você pode obter (consultar) várias propriedades dessa maneira. Isso fornecerá a letra da partição / unidade e o rótulo que você deu à unidade / partição quando você formatou a unidade:

Name  VolumeName
C:    OS
D:    Data
E:    Programs

Para obter ajuda e listar todas as opções de permissão:

wmic logicaldisk /?

então

wmic logicaldisk get /?
Marcus O'Brien
fonte
Eu estava tentando obter a letra da unidade do CD / DVD ROM e a coisa mais próxima que consegui encontrar wmic logicaldisk get name,filesystem. As unidades normais serão listadas como NTFSou FAT32e o sistema de arquivos do CD / DVD ROM estará vazio.
akinuri
Correção: se a unidade estiver vazia, o sistema de arquivos está vazio. Caso contrário, por exemplo, eu tenho um disco do Windows 10 no momento e está listado como UDF.
akinuri