Как обнаружить pendrive по cmd (BATCH) - PullRequest
0 голосов
/ 06 декабря 2018

Я делаю программу, которая нуждается в pendrive, и я хочу обнаружить, есть ли pendrive в компьютере, и отличить его от внутреннего диска или чего-то еще, кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 06 декабря 2018

Вот пример.

@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
For /F "Skip=2 Tokens=*" %%A In ('WMIC DiskDrive Where InterfaceType^="USB"^
     Assoc /AssocClass:Win32_DiskDriveToDiskPartition 2^>Nul') Do (
    For /F UseBackQ^ Delims^=^"^ Tokens^=2 %%B In ('%%A') Do (
        For /F Delims^=^":^ Tokens^=6 %%C In (
            'WMIC Path Win32_LogicalDiskToPartition^|Find "%%B"') Do (
            For /F "Skip=1 Delims=" %%D In ('WMIC LogicalDisk Where^
             "DeviceID='%%C:'" Get DeviceID^, VolumeName') Do Echo( %%D
            Set "_C=!_C!%%C")))
If Not Defined _C Echo( You do not have a USB drive connected && GoTo :EndIt
If "%_C:~,1%" Equ "%_C%" GoTo :Picked
Echo( Enter the USB drive letter from the above [%_C%]:
For /F "Delims=? Tokens=2" %%A In ('Choice /C %_C%') Do Set "Letter=%%A:"
:Picked
If Not Defined Letter (Call :Task %_C%:) Else (Call :Task %Letter%)
:EndIt
>Nul Timeout 5
Exit/B
:Task
Rem Place your commands here
Echo Your selected pen drive is %1
Pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...