Powershellscript mit komplizierterer Datumssuche
Grüße Zusammen,
Ich benötige ein Powershell-Scipt, dass mir in einem Verzeichnis alle Dateien auflistet/bzw löscht die nicht unter folgenden Kriterien fallen. Oder anders ausgedrückt, ich möchte alle Dateien behalten die:
oder * am letzten Tag der jeweiligen Monate erstellt worden sind
Ne Typische Großvadder-Vadder-Sohn Sicherung eigentlich, die ich nur manuell nachbauen muss.
Edit: Alle Dateinamen haben das Datum im Dateinamen im Format "Backup 20130527000401.mfb"
Meine rudimentären Programmierkenntnisse kommen da ans Ende, bzw ich würds wahrscheinlich viel zu kompliziert und aufwendig gestalten.
Hoffe auf ein paar Anregungen.
Danke schonmal
Aki
Ich benötige ein Powershell-Scipt, dass mir in einem Verzeichnis alle Dateien auflistet/bzw löscht die nicht unter folgenden Kriterien fallen. Oder anders ausgedrückt, ich möchte alle Dateien behalten die:
- in den letzten 5 Tagen erstellt worden sind
oder * am letzten Tag der jeweiligen Monate erstellt worden sind
Ne Typische Großvadder-Vadder-Sohn Sicherung eigentlich, die ich nur manuell nachbauen muss.
Edit: Alle Dateinamen haben das Datum im Dateinamen im Format "Backup 20130527000401.mfb"
Meine rudimentären Programmierkenntnisse kommen da ans Ende, bzw ich würds wahrscheinlich viel zu kompliziert und aufwendig gestalten.
Hoffe auf ein paar Anregungen.
Danke schonmal
Aki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 207155
Url: https://administrator.de/contentid/207155
Ausgedruckt am: 14.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Aki,
also ohne jetzt mit dem Dateinamen zu hantieren und auf Basis des letzten Änderungsdatums der Datei könnte man via Powershell die Dateien wie folgt ausfiltern:
Grüße Uwe
also ohne jetzt mit dem Dateinamen zu hantieren und auf Basis des letzten Änderungsdatums der Datei könnte man via Powershell die Dateien wie folgt ausfiltern:
$backupFolder = "C:\BackupOrdner"
#Dateien älter als 5 Tage
$filterFiles = dir $backupFolder -Filter *.mfb | ?{$_.LastWriteTime -lt (Get-Date).AddDays(-5)}
#Ausfiltern der letzten 4 Freitage
$filterFiles = $filterFiles | ?{-Not(((get-Date -Date $_.LastWriteTime -Format "ddd") -eq "Fr") -and ($_.LastWriteTime -ge (get-date).AddDays(-34)))}
#Ausfiltern des letzten Tages des vorigen Monats
$filterFiles = $filterFiles | ?{(get-date -Date $_.LastWriteTime).Date -ne ((get-date -Day 1).AddDays(-1)).Date}
echo "Dateien zu löschen :"
echo "-------------------"
$filterFiles | %{$_.FullName}
# Löschbefehl noch auskommentiert
# $filterFiles | %{remove-item $_.FullName -force}
echo "-------------------"
Grüße Uwe