Laufwerk anhand Seriennr. via Batch-Script identifizieren
In einem Batch-Skript unter Windows XP möchte ich einen angeschlossenen Datenträger via Volume-Seriennr. identifizieren.
Dafür nutze ich das Kommando fsutil fsinfo volumeinfo in einer Schleife.
Folgendes Batch-Skript sollte die Seriennummern aller verfügbaren Laufwerksbuchstaben von C...Z abfragen und die gefundenen Seriennummern mit einer Vorgabe vergleichen.
Findet das Skript ein Volumen, bei dem die Seriennummern übereinstimmen, so soll es eine Erfolgsmeldung ausgeben.
Das Problem besteht darin, dass der Vergleich der gefundenen Seriennummer mit der Vorgabe noch nicht funktioniert.
Bin für jede Hilfe dankbar.
Dafür nutze ich das Kommando fsutil fsinfo volumeinfo in einer Schleife.
Folgendes Batch-Skript sollte die Seriennummern aller verfügbaren Laufwerksbuchstaben von C...Z abfragen und die gefundenen Seriennummern mit einer Vorgabe vergleichen.
@echo off & setlocal
Set VolSN=0x12345678
for %%a in (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 (
fsutil fsinfo volumeinfo %%a:\ >nul
IF ERRORLEVEL 0 for /f "Tokens=3* delims=\ " %%i in ('fsutil fsinfo volumeinfo %%a:\^|find "Volumeseriellennummer"') do (
if %%i==%VolSN% (
echo gefunden
) else (
:: mache nichts
)
)
)
endlocal
exit
Findet das Skript ein Volumen, bei dem die Seriennummern übereinstimmen, so soll es eine Erfolgsmeldung ausgeben.
Das Problem besteht darin, dass der Vergleich der gefundenen Seriennummer mit der Vorgabe noch nicht funktioniert.
Bin für jede Hilfe dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 110690
Url: https://administrator.de/contentid/110690
Ausgedruckt am: 23.11.2024 um 13:11 Uhr
3 Kommentare
Neuester Kommentar
Servus,
irgendwie ist dein Script etwas zu lang....
und wenn du @echo off rausgenommen hättest - wärst du auch auf mindestens einen Fehler gekommen.
"Exit" - selbst wenn dein Script funktioniert hätte - exit gibt dir gar nicht die Möglichkeit - etwas zu sehen, weil die Dosbos dabei immer geschlossen wird
gruß
irgendwie ist dein Script etwas zu lang....
und wenn du @echo off rausgenommen hättest - wärst du auch auf mindestens einen Fehler gekommen.
"Exit" - selbst wenn dein Script funktioniert hätte - exit gibt dir gar nicht die Möglichkeit - etwas zu sehen, weil die Dosbos dabei immer geschlossen wird
@echo off & setlocal
@Set "VolSN=0x12345678"
@for %%a in (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 (fsutil fsinfo volumeinfo %%a:\)|find "%VolSN%" && goto found
goto end
:found
echo Laufwerk %VolSN% wurde gefunden
:end
endlocal
pause
gruß
Danke für die schnelle Hilfe.
nicht dafür - danke fürs "Danke"
Ps: Du magst wohl gerne etwas "mehr" *lach - Zeile 11 ist etwas überflüssig
Nach Zeile 10 geht "er" eh zu Zeile 13.
Gruß