alschi
Goto Top

Volume Label in einer Batch benutzen anstatt des LW Buchstaben

Hi

ich würde gern in einer Batchdatei eine Festplatte die über USB angeschlossen ist ,ansprechen. Da Windows aber die Eigenart hat ab und zu den zugewiesenen LW Buchstaben neu zu vergeben würde die Festplatte nicht mehr gefunden werden. Ist es irgendwie möglich das Volumen Label anzusprechen oder die cpid aus der registry zu nutzen oder den Device Name oder noch was anderes

Danke.
MfG

Content-ID: 116503

Url: https://administrator.de/contentid/116503

Ausgedruckt am: 25.11.2024 um 20:11 Uhr

77559
77559 20.05.2009 um 16:50:43 Uhr
Goto Top
Hallo alschi,

ein vbscript ist IMO hier eleganter als eine Batch bei der du natürlich per Vol Lw: auch die Ausgabe auswerten könntest.

' EnumDiskLabel.vbs -------------------------------------------------  
On Error Resume Next
strComputer = "."  
Set objWMIService =  GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)  
For Each objItem in colItems
  Wscript.Echo objItem.Caption & vbTab & objItem.VolumeName
Next

Gruß
LotPings

Das Script ließe sich auch in eine Batch einbauen und on the fly generieren/ausführen.
78632
78632 20.05.2009 um 17:15:17 Uhr
Goto Top
Als Batch:

@echo off & setlocal
:: zu durchsuchende Laufwerksbuchstaben eintragen
set Suche=F G H I J K L M N O P Q R S T U V W X Y Z

::Volume Label der gesuchten Partition
set Label=USB-123
set lw=

for %%a in (%suche%) do for /f "tokens=6 delims= " %%i in ('VOL %%a:') do (if "%%i"=="%Label%" set LW=%%a:)  
if defined lw (@echo %lw%) else (@echo Kein passendes Volume gefunden  & goto :eof) 
Pause


Im weiteren Verlauf verwendest du dann an Stelle des Laufwerksbuchstabens die Variable %lw%
RoterFruchtZwerg
RoterFruchtZwerg 20.05.2009 um 18:32:49 Uhr
Goto Top
Off-Topic, aber vielleicht hilft's dir ;)
http://www.uwe-sieber.de/usbdlm.html

Gruß, Andreas
alschi
alschi 26.05.2009 um 13:14:55 Uhr
Goto Top
Hi

das alles hat mir geholfen. Vielen Dank

MfG