21 votos

Cómo obtener una lista de letras de unidad en un sistema a través de una shell de windows (bat, cmd)?

¿Cómo puedo obtener una lista de letras de unidad y sus etiquetas asociadas a un sistema windows a través de un archivo bat?

15voto

gnoise Puntos 101

Para utilizar diskpart, no es necesario crear un archivo intermedio. Probar:

echo list volume | diskpart

8voto

Dharma Leonardi Puntos 101
@echo off
cls
setlocal enabledelayedexpansion
set "_DRIVE.LETTERS.FREE=Z Y X W V U T S R Q P O N M L K J I H G F E D C B A "
for /f "skip=1 tokens=1,2 delims=: " %%a in ('wmic logicaldisk get deviceid^,volumename') do (
   set "_DRIVE.LETTERS.USED=!_DRIVE.LETTERS.USED!%%a,%%b@"
   set "_DRIVE.LETTERS.FREE=!_DRIVE.LETTERS.FREE:%%a =!"
)
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:~0,-2%
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:,@=, @%
set _DRIVE.LETTERS

Rápido, flexible y eficiente. Aunque un poco complejo.

6voto

yuning Puntos 31

inspirado por Scott

for %i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @%i: 2>nul && set/pz=%i <nul

también muestra la letra de unidad de CD. no hay necesidad de ser admin.

4voto

Wing Puntos 1529
mountvol

ejemplo de salida

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   *** NO MOUNTING POINT ***

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   D:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   C:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   E:\

1voto

EBGreen Puntos 981

Esto le da más de lo que:

Net Use

Si usted tiene cualquiera de las unidades asignadas a través de subst que también se necesita para obtener los:

Subst

La integridad, tendría que hacerlo como esta en Powershell (si estás en windows 7 o lo haya instalado):

gwmi win32_LogicalDisk -filter DriveType=4

También se puede hacer desde la línea de comandos o un archivo por lotes mediante WMI como este:

wmic logicaldisk get caption,providername,drivetype,volumename

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: