Batchdatei zum Erstellen eines Ordners auf jedem Wechseldatenträger

932
Marcos Eduardo Lustosa

Ich brauche eine Batch-Datei, um einen Ordner "Test" auf jedem Wechseldatenträger zu erstellen, als ich meinen Computer an den Computer angeschlossen habe (Pendrives usw.). Ich versuche so etwas

set "extDrive=" for /f %%D in ('wmic volume get driveLetter^ where drivertype=2 ) do set extDrive=%%D mkdir "%extDrive%\test" 

Kann mir jemand sagen, warum das nicht funktioniert?

1

2 Antworten auf die Frage

1
DavidPostill

Warum funktioniert das nicht?

'wmic-Datenträger erhalten Laufwerksbuchstabe ^ wobei Laufwerkstyp = 2 ist

Der obige wmicBefehl enthält mehrere Fehler :

  • drivertypesollte sein drivetype.
  • Es fehlt ein Nachlauf '.
  • Das `^ wird nicht benötigt.
  • Das wheresollte vor dem kommen get.
  • 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 echoVorher, mkdirwenn 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

0
Khaos

Um den Laufwerksbuchstaben eines Wechseldatenträgers zu erhalten, verwenden
Sie Folgendes : wmic logicdisk wobei drivetype = 2
in meinem Fall

deviceid lautet : C: \ Windows \ system32> wmic logicdisk wobei drivetype = 2 deviceID
DeviceID
E:

Ich würde dies in eine TXT-Datei packen und dann die Textdatei durchlaufen ... Ich bin kein großer Batch-Programmierer, dieser Weg ist für mich einfacher zu debuggen. :)