Batchdatei - Abfrage einer bestimmten USB-Platte (Laufwerksbuchstabe kann varieren)
Hallo Forumsmenschen
Ich habe da mal eine Frage (warum bin ich auch sonst hier)
Eine ähnliche Frage/Antwort habe ich in diesem Forum schon gefunden, aber noch nicht ganz meine "Endlösung"
Batch Datei, abfrage von Festplatten
@echo off % Setlocal
Set fixLWs=%temp%\FixLWs.txt
del %fixLws%
call :clean
for /f %%a in ('fsutil fsinfo drives^|find ":"') do fsutil fsinfo drivetype %%a |find "Eingebaut">>%fixlws%
REM Alle "Eingebauten" Laufwerken stehen als Zeilen "C:\ - Eingebautes Laufwerk" in %fixLWs%
For /f %%i in (%fixLWs%) do (
REM ...whatever, z.B so was:
If Exist %%i\config\myfile.xyz echo KillRoy was here>>%%i\config\myfile.xyz
REM .... oder etwas sinnvolles...
)
:: bei Bedarf weiteres Gebätsche...
:clean
rem IF Exist %fixLws% del %fixLws%
goto :eof
In der Batchdatei soll eine Abfrage stattfinden ob Laufwerk e:, f:, g: etc. ein BESTIMMTES USB-Laufwerk ist. Der Buchstaben kann wechseln weil die Platte an verschiedene PC's angeschlossen wird.
Eine einfache Batch die ich mir mal geschrieben habe kann aber nur auf Festplatten ausgeführt werden, da die Befehle Daten schreiben bzw. löschen sollen. Auf d: wenn dies z.B. ein CD-ROM Laufwerk ist kann ja logischerweise nicht geschrieben werden. Ich bekomme dort immer eine Fehlermeldung von Windows die ich gerne unterdrücken würde. Ist es möglich per Batch-Datei herauszufinden welches Laufwerk die gewünschte USB-Platte ist - wenn-GEFUNDEN-dann soll mein Befehl ausgeführt werden....?
Ich könnte mir vorstellen das eine bestimmte Datei (z.B. 'kennung.dat') auf der USB-Platte ist, die Datei könnte dann einfach abgefagt werden. Mein Problem, ich habe keinen schimmer wie ich die obige Batch-Datei (die nicht von mir ist) abwandel...
FreundlicherForumsGruss
von der Leertaste
Ich habe da mal eine Frage (warum bin ich auch sonst hier)
Eine ähnliche Frage/Antwort habe ich in diesem Forum schon gefunden, aber noch nicht ganz meine "Endlösung"
Batch Datei, abfrage von Festplatten
@echo off % Setlocal
Set fixLWs=%temp%\FixLWs.txt
del %fixLws%
call :clean
for /f %%a in ('fsutil fsinfo drives^|find ":"') do fsutil fsinfo drivetype %%a |find "Eingebaut">>%fixlws%
REM Alle "Eingebauten" Laufwerken stehen als Zeilen "C:\ - Eingebautes Laufwerk" in %fixLWs%
For /f %%i in (%fixLWs%) do (
REM ...whatever, z.B so was:
If Exist %%i\config\myfile.xyz echo KillRoy was here>>%%i\config\myfile.xyz
REM .... oder etwas sinnvolles...
)
:: bei Bedarf weiteres Gebätsche...
:clean
rem IF Exist %fixLws% del %fixLws%
goto :eof
In der Batchdatei soll eine Abfrage stattfinden ob Laufwerk e:, f:, g: etc. ein BESTIMMTES USB-Laufwerk ist. Der Buchstaben kann wechseln weil die Platte an verschiedene PC's angeschlossen wird.
Eine einfache Batch die ich mir mal geschrieben habe kann aber nur auf Festplatten ausgeführt werden, da die Befehle Daten schreiben bzw. löschen sollen. Auf d: wenn dies z.B. ein CD-ROM Laufwerk ist kann ja logischerweise nicht geschrieben werden. Ich bekomme dort immer eine Fehlermeldung von Windows die ich gerne unterdrücken würde. Ist es möglich per Batch-Datei herauszufinden welches Laufwerk die gewünschte USB-Platte ist - wenn-GEFUNDEN-dann soll mein Befehl ausgeführt werden....?
Ich könnte mir vorstellen das eine bestimmte Datei (z.B. 'kennung.dat') auf der USB-Platte ist, die Datei könnte dann einfach abgefagt werden. Mein Problem, ich habe keinen schimmer wie ich die obige Batch-Datei (die nicht von mir ist) abwandel...
FreundlicherForumsGruss
von der Leertaste
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 63612
Url: https://administrator.de/forum/batchdatei-abfrage-einer-bestimmten-usb-platte-laufwerksbuchstabe-kann-varieren-63612.html
Ausgedruckt am: 23.12.2024 um 13:12 Uhr
4 Kommentare
Neuester Kommentar
Hallo leertaste und willkommen im Forum!
Schematisch könnte das so aussehen:
Um die Fortsetzung musst Du Dich dann selbst kümmern.
Grüße
bastla
Schematisch könnte das so aussehen:
@echo off & setlocal
set LW=
for %%i in (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 %%i:\kennung.dat set LW=%%i:
if not defined LW echo Laufwerk nicht erkannt! & goto :eof
echo Laufwerk gefunden: %LW%
Grüße
bastla
Hallo leertaste!
Und so?
Grüße
bastla
Und so?
@echo off & setlocal
set LW=
for /f %%a in ('fsutil fsinfo drives^|find ":"') do for /f "delims=\" %%i in ('fsutil fsinfo drivetype %%a^|find "Eingebaut"') do if exist %%i\kennung.dat set LW=%%i
if not defined LW echo Laufwerk nicht erkannt! & goto :eof
echo Laufwerk gefunden: %LW%
Grüße
bastla