Existe-t-il un moyen de lister les lecteurs disponibles à partir de cmd.exe ? (Autre que de taper manuellement
c:
d:
...
et voir ceux qui retournent des erreurs)
Existe-t-il un moyen de lister les lecteurs disponibles à partir de cmd.exe ? (Autre que de taper manuellement
c:
d:
...
et voir ceux qui retournent des erreurs)
J'aime absolument la méthode de la fournée pure montré dans la réponse de cybercontroler toutes les commandes internes, pas moins !
Je voulais partager mon édition/modification de lot basée sur la réponse de cybercontroler.
Pour mon projet actuel, j'avais besoin d'identifier quel lecteur était étiqueté en tant que DATA
J'ai donc remplacé la commande echo par vol (commande interne).
J'ai aussi utilisé la commande set pour créer la variable [1]
qui contiendrait l'ensemble des lettres majuscules afin de raccourcir la for
la longueur de la commande.
Depuis if exist
ne vérifiera que les lettres de lecteur, il n'y aura jamais d'espace dans ce test, j'ai donc omis les guillemets.
Le test de l'omission des deux barres obliques arrière donne les mêmes résultats.
La ligne de commande ajoutée @echo off
filtrer la sortie pour ne montrer que les résultats.
J'ai envoyé les résultats à l'interface externe find
pour filtrer les lignes de numéros de série créées par la commande vol.
J'ai placé une commande de pause pour qu'il ne soit pas nécessaire de lancer une "Invite de commande" au préalable afin de voir les résultats en cliquant sur le fichier batch.
Les résultats de l'original ont identifié toutes les lettres de lecteur disponibles mélangées avec for
qui traite l'ensemble des lettres majuscules. Avec @echo off
filtrant, ma course s'est affichée :
C:
D:
Les résultats à l'aide des affichages de vol : Le volume du lecteur C est OS
Volume in drive D is DATA
Press any key to continue . . .
Voici mon fichier batch qui inclut les deux commandes for ; vous pouvez commenter la commande for que vous ne voulez pas exécuter en faisant précéder les lignes de commande de deux points ( ::
).
echo Available Drives:
for %%v 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 if exist "%%v:\\"
echo %%-:
@echo off
set [1]=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
for %%- in (%[1]%) do if exist %%-: vol %%-: | find "in drive"
pause
Notez que cette méthode par lot n'identifie pas les lecteurs de DVD, je ne sais pas pourquoi. Mais la commande fsutil fsinfo drives
fait. Mon résultat est le suivant : Drives: C:\ D;\ J:\
( J:\
étant mon lecteur de DVD).
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.