Suche nach Möglichkeit ein Datum aus dem Dateinamen auszulesen und Dateien älter 30 Tage zu löschen.
Hallo,
ich suche nach einer Möglichkeit Backups nach 30 Tagen mithilfe eines Datums aus dem Dateinamen zu löschen.
Am besten per Batch oder Powershell Script.
Die Syntax der Dateien ist wie in folgenden Beispiel:
lw_buchhalt_backup_01.06.2014_20_18.zip
Würde mich sehr über eine Antwort freuen, weil ich diese für ein Kundenprojekt brauche.
ich suche nach einer Möglichkeit Backups nach 30 Tagen mithilfe eines Datums aus dem Dateinamen zu löschen.
Am besten per Batch oder Powershell Script.
Die Syntax der Dateien ist wie in folgenden Beispiel:
lw_buchhalt_backup_01.06.2014_20_18.zip
Würde mich sehr über eine Antwort freuen, weil ich diese für ein Kundenprojekt brauche.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 241013
Url: https://administrator.de/forum/suche-nach-moeglichkeit-ein-datum-aus-dem-dateinamen-auszulesen-und-dateien-aelter-30-tage-zu-loeschen-241013.html
Ausgedruckt am: 17.05.2025 um 05:05 Uhr
3 Kommentare
Neuester Kommentar
Hallo FEKC2014, Willkommen auf Administrator.de.
Die Suchfunktion liefert dazu diverse Treffer:
Da du hier neu bist, ausnahmsweise nochmal
eine schnelle Lösung mit Powershell:
Grüße Uwe
Die Suchfunktion liefert dazu diverse Treffer:
- Batch- oder VBS-Script zum automatischen Löschen von Dateien älter x
- Dateien per Batch löschen, älter als X Tage
- Dateien per Batch löschen, älter als X Tage
Da du hier neu bist, ausnahmsweise nochmal
gci "C:\backup\*.zip" | ?{$_.LastWriteTime -lt (Get-date).AddDays(-30)} | Remove-Item -Force
Zitat von @FEKC2014:
Ja, ist zwar sehr schön, allerdings scheint dein Script aber nicht seine Daten aus dem Dateinamen zu holen.
ach so, sorry, hatte ich glatt überlesen, ist aber auch kein Problem:Ja, ist zwar sehr schön, allerdings scheint dein Script aber nicht seine Daten aus dem Dateinamen zu holen.
gci "C:\backup\*.zip" | ?{(get-date ([regex]"\d{2}\.\d{2}\.\d{4}").Match($_.BaseName).Value) -lt (Get-date).AddDays(-30)} | Remove-Item -Force
gci "C:\backup\*.zip" | ?{(get-date ($_.BaseName.Split("_")[3])) -lt (Get-date).AddDays(-30)} | Remove-Item -Force
gci "C:\backup\*.zip" | ?{(get-date $($s = $_.BaseName.Split("_"); $s[3]+" "+$s[4]+":"+$s[5])) -lt (get-date).AddDays(-30)} | Remove-Item -Force