![]() |
AW: Batchscript zum automatischen Löschen von Dateien
Zitat:
![]() Noch ein Versuch ohne die überflüssige Klammerung für die Kommandozeile:
Code:
Der Dir-Befehl verlangt keine zwei Parameter, das %BACKUPDIR% hinter dem Pattern für die Verzeichnisnamen ist kontraproduktiv.
for /F "skip=1 delims=" %F IN ('dir /B /AD-r-s-h /O-D "%BACKUPDIR%\*-*-* *-*" 2^>NUL') DO echo rmdir /S /Q "%BACKUPDIR%\%F"
|
AW: Batchscript zum automatischen Löschen von Dateien
Keine Ausgabe mit:
Code:
@echo off
set RETAINBACKUPS=1 set BACKUPDIR=D:\ if not exist "%BACKUPDIR%" ( echo. echo "%BACKUPDIR%" existiert nicht. echo. pause goto :EOF ) rem freien Speicherplatz anzeigen for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB echo. rem alte Backups loeschen choice /M "Alte Sicherung(en) loeschen?" /C JN if %ERRORLEVEL% == 1 goto DEL_OLDEST if %ERRORLEVEL% == 2 goto DO_BACKUP :DEL_OlDEST echo Loesche alte Sicherungen... echo. for /F "skip=%RETAINBACKUPS% delims=" %%F IN ('dir /B /AD-S /O-N "%BACKUPDIR%\*-*-* *-*" 2^>NUL') DO ( echo rmdir /S /Q "%BACKUPDIR%\%%F" ) pause |
AW: Batchscript zum automatischen Löschen von Dateien
Zitat:
Zitat:
Zitat:
Zitat:
Grüße Dalai |
AW: Batchscript zum automatischen Löschen von Dateien
Ergebnis Kommandozeile ohne Klammerung?
|
AW: Batchscript zum automatischen Löschen von Dateien
Habs:
Code:
So funktioniert es.
@echo off
set RETAINBACKUPS=2 set BACKUPDIR=D:\ d: if not exist "%BACKUPDIR%" ( echo. echo "%BACKUPDIR%" existiert nicht. echo. pause goto :EOF ) rem freien Speicherplatz anzeigen for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB echo. rem alte Backups loeschen choice /M "Alte Sicherung(en) loeschen?" /C JN if %ERRORLEVEL% == 1 goto DEL_OLDEST if %ERRORLEVEL% == 2 goto DO_BACKUP :DEL_OlDEST echo Loesche alte Sicherungen... echo. for /F "skip=%RETAINBACKUPS% delims=" %%F IN ('dir /B /AD-S /O-N "*" 2^>NUL') DO ( echo rmdir /S /Q "%BACKUPDIR%\%%F" ) pause |
AW: Batchscript zum automatischen Löschen von Dateien
Zitat:
Zitat:
Zitat:
|
AW: Batchscript zum automatischen Löschen von Dateien
Ja, man kann auch ein
Code:
vorneweg machen, aber trotzdem funktioniert es nach meinen Tests auch, das Pattern direkt an das dir-Kommando zu geben.
cd /D "%BACKUPDIR%"
Vielleicht war das Wegfiltern der Fehler für die Tests doch nicht so gut? Andererseits lässt sich ja das dir-Kommando auch so auf die CMD kopieren und einzeln testen (dann sinnvollerweise ohne Umleitung von StdError) ... Grüße Dalai |
AW: Batchscript zum automatischen Löschen von Dateien
Egal. Jetzt funktioniert es jedenfalls.
Vielen Dank für eure Hilfe. |
AW: Batchscript zum automatischen Löschen von Dateien
Auf eine Sache möchte ich in Bezug auf das fehlende bzw. breit gefasste Pattern noch hinweisen: Damit werden alle Verzeichnisse ausgegeben, nicht nur die automatisch erstellten Backupverzeichnisse. Achte also darauf, dass dort keine anderen Dinge rumliegen, sonst wunderst du dich, wenn auf einmal Verzeichnisse bzw. ganze Strukturen verschwinden. Auch deshalb ist es besser, sowohl ein Pattern anzugeben, als auch in ein Verzeichnis zu sichern, das ausschließlich für Backups gedacht ist (und sonst nichts rumgeschrieben wird).
Zitat:
Grüße Dalai |
AW: Batchscript zum automatischen Löschen von Dateien
Das ist schon in Ordnung. Auf dem Laufwerk kommen nur Backups. Sie hat auch die Bezeichnung "Backup". Da noch mal einen Unterordner "Backup" anzulegen wäre unsinnig.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz