Batch-Dateien von USB Stick löschen

kenwiel

Erster Beitrag
hallo,
da es immer öfter vorkommt dass mein usb stick von anderen pcs mit dem 'RECYCLER' ordner vollgestopft wird habe ich mir heute eine batchfile geschrieben, allerdings scheint diese nicht zu funktionieren, da sie immer zu 'DATEI FEHLT' springt, obwohl diese vorhanden ist. desweiteren löscht sie den ordner nicht, sondern nur dessen inhalt und ich verstehe nicht warum.

Code:
@echo off
mode 70,5
color 0a
echo Bitte Laufwerksbuchstaben eingeben[A,B,C...]
set /p Laufwerk=
cls


attrib -s -r -h %Laufwerk%:\autorun.inf
echo RECYCLER-Virus wird nun geloescht. Bestatigen mit beliebiger Taste
pause

::Abfrage1 - ist autorun.inf vorhanden
if not exist %Laufwerk%:\autorun.inf goto FALSE1
else goto TRUE1


:FALSE1
cls
echo Datei autorun.inf nicht vorhanden
pause
cls
goto RECYCLER


:TRUE1
cls
del %Laufwerk%:\autorun.inf
echo AUTORUN.INF wurde geloescht


:RECYCLER
::Abfrage2 ist \Recycler vorhanden
cls
if not exist %Laufwerk%:\RECYCLER\ goto FALSE2
else goto TRUE2


:FALSE2
cls
echo Ordner 'RECYCLER' nicht vorhanden
pause
cls
goto END


:TRUE2
cls
del %Laufwerk%:\RECYCLER
echo RECYCLER Ordner wurde geloescht
goto END


:END
cls
echo Fertig,... villeicht
pause
wenn jemand rat weiss, bitte antworten
 
Also Imho ist deine Batch derbe konfus.

Was soll die "mode" Zeile da?
Wieso löscht du die autorun.inf?
Wird das nur für den angeschlossenen USB-Stick, oder generell?
Verzeichnisse können nicht mit del, sondern nur mit rd (und etwaigen optionen) gelöscht werden.

AFAIR werden Batch-Befehle bei versteckten Systemdateien (welches der "RECYCLER" ist) etwas zickig. Also verwende vor dem If ein "attrib -r -s -h -a /S /D RECYCLER" um die Attribute zu entfernen. Dann sollte der If anschlagen.

Wenn du das nur für den USB-Stick auf dem die Batch ist ausführen willst, dann würd ich es eher so schreiben:

Code:
@echo off
for %%i in (A B 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 if exist <deinbatchname>.bat set Laufwerk=%%i:

attrib -r -s -h -a /S /D %Laufwerk%\RECYCLER
If exist %Laufwerk%\RECYCLER rd /S /Q %Laufwerk%\RECYCLER
 
Oben