Warum funktioniert das nicht?
'wmic-Datenträger erhalten Laufwerksbuchstabe ^ wobei Laufwerkstyp = 2 ist
Der obige wmic
Befehl enthält mehrere Fehler :
drivertype
sollte seindrivetype
.- Es fehlt ein Nachlauf
'
. - Das `^ wird nicht benötigt.
- Das
where
sollte vor dem kommenget
. - Nicht alle Datenträger haben Laufwerksbuchstaben (logische Laufwerke jedoch).
Verwenden Sie die folgende Batchdatei:
@echo off setlocal for /f "skip=1 tokens=1,2" %%d in ('wmic logicaldisk get caption^, drivetype') do ( if [%%e]==[2] echo mkdir %%d\test ) endlocal
Anmerkungen:
- Entfernen Sie das
echo
Vorher,mkdir
wenn Sie die Batchdatei getestet haben. - Möglicherweise müssen Sie auch etwas mit Laufwerkstyp 3 tun.
Ich habe ein Wechsellaufwerk vom Typ 3. In der folgenden Ausgabe ist C: eine Festplatte, D: ist mein CD-ROM-Laufwerk, E: ist ein entfernbarer USB-Stick und F: ist ein entfernbares externes USB-Laufwerk.
F:\test>wmic logicaldisk get deviceid, drivetype DeviceID DriveType C: 3 D: 5 E: 2 F: 3
Lesen Sie weiter
- Ein AZ-Index der Windows-CMD-Befehlszeile - Eine hervorragende Referenz für alles, was mit Windows-Cmd-Zeilen in Verbindung steht.
- for / f - Schleifenbefehl gegen die Ergebnisse eines anderen Befehls.
- wmic - Befehl zur Windows-Verwaltungsinstrumentation.