Ver unidades disponibles de la CLI de Windows?

98

¿Hay alguna manera de enumerar las unidades disponibles desde cmd.exe? (Aparte de escribir manualmente

c:
d:
...

y ver cuáles devuelven errores)

Cristi Diaconescu
fuente

Respuestas:

119
> wmic logicaldisk get caption

Caption
C:
D:
E:

Si es probablemente la más fácil. No necesita privilegios administrativos, no devuelve más o menos de lo que se necesita, etc.

Si desea usarlo en un script, envuélvalo for /fcon la skip=1opción:

for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do @echo.%%x
Joey
fuente
1
solo para usuarios con derechos de administrador
Carlos Campderrós
1
@ CarlosCampderrós: ​​funciona bien para mí desde una cuenta de usuario limitada.
Joey
1
Citando de support.microsoft.com/en-us/kb/290216 "Wmic.exe solo puede ser utilizado por los administradores del sistema local, independientemente de los permisos del espacio de nombres WMI en la máquina local", y falló en mi máquina (una VM con winXP )
Carlos Campderrós
44
Funcionó bien bajo una cuenta no administrativa en Windows 8.1 aquí. Tenga en cuenta que el artículo de KB se aplica solo a los sistemas operativos heredados.
Joey
1
@Joey, ¿por qué en captionlugar de wmic logicaldisk get name ?
Pacerier
64

Si estás en el símbolo del sistema:

diskpart

entonces

lista de volumen

salida de muestra:

  Volumen ### Ltr Etiqueta Fs Tipo Tamaño Información de estado
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
  Volumen 0 E DVD-ROM 0 B Sin medios
  Volumen 1 Sistema Rese Partición NTFS 100 MB Sistema saludable
  Volume 2 C System NTFS Partition 99 GB Arranque saludable
  Volumen 3 Datos F (Partición NTFS local 365 GB Saludable

y finalmente

salida

para volver a la línea de comando.

Mike Fitzpatrick
fuente
a diferencia del comando net use , esto solo enumerará las unidades físicas locales. (creo). vea diskpart en technet y diskpart en support.microsoft.com
quack quixote
3
diskpartNecesita privilegios administrativos. Si solo quieres una lista de letras de unidad, es mucho pedir ...
Joey
'diskpart' no se reconoce como un comando interno o externo,
Karl Morrison
18

En aras de la exhaustividad, hay otra manera:

fsutil fsinfo drives

que devuelve:

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

(No es una salida muy amigable con los scripts, pero puede ser útil para el ojo humano)

Alguna referencia . Eso debería funcionar desde win2k pero solo con una cuenta de administrador.

(Gracias @Carlos Campderrós por mejorar la respuesta)

saulius2
fuente
44
Cabe señalar que esto solo funciona si está utilizando una cuenta de administrador
Carlos Campderrós
@ CarlosCampderrós No creo que sea correcto. Puedo ejecutar fsutilcon un usuario limitado, y el resultado es mucho más rápido que hacer girar el wmicsistema. En mi caja con solo SSD que ejecutan Windows 10 v 1803, wmictoma 100-200ms y fsutiltoma ~ 20ms.
señor
@mrm, algunas versiones de Windows (o lanzamiento, o compilación de w10) probablemente perdieron esta restricción. Probé esto en wxp y w7pro, y falló sin una cuenta de administrador (AFAIR).
saulius2
Secundo la observación de @ saulius2
Fr0zenFyr
7

Si está utilizando PowerShell, puede escribir

get-psdrive -psprovider filesystem

Editado en respuesta a comentarios para mostrar solo sistemas de archivos

Matthew Steeples
fuente
Eso también devolverá otras unidades que no sean del sistema de archivos que estén montadas, como Cert :, Alias: y Función :. Además, devolverá otros directorios del sistema de archivos montados como PSDrive (como Home: for% UserProfile% for me).
Joey
Esta es la única respuesta que funcionó para mí. Todas las demás soluciones parecen requerir acceso de administrador. (Al menos en mi sistema Windows XP horriblemente desactualizado).
Ajedi32
5

Use la función incorporada doskey para crear un alias que ejecute el comando wmic con los atributos necesarios

doskey v=wmic logicaldisk get caption

Esto creará un alias "v" que, cuando se escriba, ejecutará el comando dado y enumerará todas las letras de volumen.

usuario216496
fuente
oh bonito, no sabía sobre doskey (como Set-Alias ​​de powershell)
BananaAcid
Respuesta altamente subestimada, he estado usando CMD durante años y nunca me di cuenta de que los alias tenían algo que ver.
Hashim
5
wmic logicaldisk get volumename,name

Puede obtener (consultar) varias propiedades de esta manera. Esto le dará la letra de partición / unidad y la etiqueta que le dio a la unidad / partición cuando formateó la unidad:

Name  VolumeName
C:    OS
D:    Data
E:    Programs

Para obtener ayuda y enumerar todas las opciones de permisos:

wmic logicaldisk /?

entonces

wmic logicaldisk get /?
Marcus O'Brien
fuente
Estaba tratando de obtener la letra de la unidad de CD / DVD ROM y lo más cercano que pude encontrar fue wmic logicaldisk get name,filesystem. Las unidades normales aparecerán como NTFSo FAT32, y el sistema de archivos del CD / DVD ROM estará vacío.
akinuri
Corrección: si la unidad está vacía, el sistema de archivos está vacío. Si no, por ejemplo, tengo un disco de Windows 10 en este momento, y está listado como UDF.
akinuri