AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Batchscript zum automatischen Löschen von Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

Batchscript zum automatischen Löschen von Dateien

Ein Thema von Luckie · begonnen am 21. Mai 2019 · letzter Beitrag vom 23. Mai 2019
 
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Batchscript zum automatischen Löschen von Dateien

  Alt 21. Mai 2019, 18:50
Irgendwie sehe ich keine Ausgabe bis auf die Pause Befehle. Müsste das Script nicht
Zitat:
rmdir /S /Q "%BACKUPDIR%\%%F"
ausgeben?

Code:
@echo off
set RETAINBACKUPS=15
set BACKUPDIR=D:\

if not exist "%BACKUPDIR%" (
    echo.
    echo "%BACKUPDIR%" existiert nicht.
    echo.
    pause
    goto :EOF
)

pause

for /F "skip=%RETAINBACKUPS% delims=" %%F IN ('dir /B /AD /O-D "%BACKUPDIR%" 2^>NUL') DO (
    echo rmdir /S /Q "%BACKUPDIR%\%%F"
)

pause

rem freien Speicherplatz anzeigen
rem for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set tmp=%%i
rem echo Freier Speicherplatz auf Laufwerk D: %tmp:~0,3% GB

pause
Jetzt geht es. Ausgabe:
Code:
rmdir /S /Q "D:\\$RECYCLE.BIN"
rmdir /S /Q "D:\\System Volume Information"
Bei
Code:
set RETAINBACKUPS=1
Ich habe jetzt die Verzeichnisse
Code:
2019-05-10 13-41
2019-05-18 13-41
2019-05-21 13-41
Gebe ich an er soll 3 behalten, bekomme ich die Ausgabe:
Code:
rmdir /S /Q "D:\\$RECYCLE.BIN"
rmdir /S /Q "D:\\System Volume Information"
Das passt. Aber natürlich soll er die Systemordner nicht löschen.
Gebe ich an er soll 1 behalten, bekomme ich die Ausgabe:
Code:
rmdir /S /Q "D:\\2019-05-10 13-41"
rmdir /S /Q "D:\\2019-05-21 13-41"
rmdir /S /Q "D:\\$RECYCLE.BIN"
rmdir /S /Q "D:\\System Volume Information"
Er löscht also das älteste und das neuste.

Code:
dir /AD
liefert mir
Code:
D:\>dir /AD
 Datenträger in Laufwerk D: ist Backup
 Volumeseriennummer: B860-37EC

 Verzeichnis von D:\

2019-05-21  13:31    <DIR>         $RECYCLE.BIN
2019-05-21  20:00    <DIR>         2019-05-10 13-41
2019-05-21  20:00    <DIR>         2019-05-18 13-41
2019-05-21  14:58    <DIR>         2019-05-21 13-41
2019-05-21  13:30    <DIR>         System Volume Information
               0 Datei(en),             0 Bytes
               5 Verzeichnis(se), 833.302.568.960 Bytes frei
Wenn ich dir so hinbekomme, dass es die Systemverzeichnisse nicht anzeigt, wäre das Problem wahrscheinlich gelöst.

Habs:
Code:
dir /AD
Nur will er mir bei einem Backup immer noch das älteste und neuste löschen.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (21. Mai 2019 um 19:18 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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