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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 241013
Url: https://administrator.de/contentid/241013
Printed on: April 24, 2024 at 17:04 o'clock
3 Comments
Latest comment
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 eine schnelle Lösung mit Powershell:
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