Batch Dauerschleife beim autom. entpacken

Kes

Newbie
Registriert
Juli 2013
Beiträge
3
Hallo zusammen,

im Juli wurde mir super geholfen, daher mal wieder eine Frage an euch:

Erstmal mein Code:
Code:
@echo off
 
for /f "delims=" %%f in ('dir . /B /O:-N') do (
if exist "%%f\*" (



for /f "delims=" %%x in ('dir "%%f\*.zip" /B') do (
C:\Programme\7-Zip\7z.exe x "%%f\*.zip" -o"%%f\*" 
		)

)
goto :end
)
:end


for /F "delims=" %%a in ('dir /b /aD') do del /Q "%%a\*.zip"

Mein kleines Batch Programm soll, wenn es dann funktioniert, auf einem Server jeden morgen laufen und dort morgens die 56 zip-Dateien, die als Datensicherung des Nachts erstellt werden, entpacken und die zip-Dateien anschließend löschen.
Entpacken funktioniert wunderbar. Doch wenn einmal entpackt wurde, will das Programm wieder bei der ersten (bereits entpacken) Datei beginnen und dann kommt die Meldung im DOS Fenster, dass es den Ordner bereits gibt und ob er überschrieben werden soll...
Wie kann ich diese Schleife beenden? Er soll ja nach dem Entpacken die zip Dateien löschen! Soweit kommt er ja nicht, da er von vorne anfängt... Bin da echt ratlos.

Vielen Dank vorab für eure Hilfe!
LG
Kes
 
Du machst ein DIR auf Dateien in einem Ordner und stößt für jede gefundene Datei den Entpackvorgang für alle Dateien an.
Entweder du machst den Entpackvorgang nur ein Mal für alle Dateien oder du machst den Entpackvorgang ein Mal für jede gefundene Datei.
Dann kannst du diese Datei nach dem Entpacken auch direkt löschen.

Sprich, entweder
Unzip *.zip
Delete *.zip

oder
for f.zip in . (
unzip f.zip
delete f.zip
)
 
Zurück
Oben