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)

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

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.


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)


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


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.


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 /?

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.