Ich habe mir das folgende Powershellskript aus etlichen Internetforen und eigenem Ausprobieren erstellt.
<#
.SYNOPSIS
Ordner loeschen aelter als x Tage
.DESCRIPTION
Script loescht Ordner im angegeben Verzeichnis, falls aelter als X Tage
#>
$Now = Get-Date
$Days = "4" #set days
$TargetFolder = "D:\Firesave\" #set your directory
$LastWrite = $Now.AddDays(-$Days)
$Folders = get-childitem -path $TargetFolder |
Where {$_.psIsContainer -eq $true} |
Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($Folder in $Folders)
{
write-host "Deleting $Folder" -foregroundcolor "Red"
Remove-Item $Folder -recurse -Confirm:$false
}
#mein Zusatz:
$date = (Get-Date).toString("dd.MM.yyyy") #neues Datum
$Path = "D:\Firesave\$date" #neuer Ordner mit Datum
# Test ob er existiert. Falls nicht, anlegen und Daten speichern
if (-not (Test-Path $Path)) {
{New-Item -ItemType Directory $path}
& "C:\Users\geldh\AppData\Local\Microsoft\WindowsApps\7z.exe" a -tzip "$Path\ProgVerz.zip" "C:\Program Files\Mozilla Firefox\"
& "C:\Users\geldh\AppData\Local\Microsoft\WindowsApps\7z.exe" a -tzip "$Path\Profil.zip" "C:\Users\geldh\AppData\Roaming\Mozilla\Firefox\"}
Exit
Alles anzeigen
Als Verknüpfung mit folgendem Aufruf:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\FireThunderProgs\FireSave.ps1"
kann ich es "per Hand" starten.
Ich habe jedoch in der WIN 11 Aufgabenplanung einen Eintrag erstellt, mit dem das Skript bei PC Start automatisch ausgeführt wird. Beim ersten Start am Tag wird das Skript ausgeführt. Fehlerfrei seit über 2 Jahren. Bin mit Firefox schon 2-mal umgezogen und habe noch keine Daten verloren.
Leider erscheint das Powershell-Fenster bei jedem weiteren Start am gleichen Tag für einen kurzen Moment. Aber das ist mir egal.
Sollte ich das Thema wieder mal verfehlt haben bitte ich jetzt schon um Verzeihung. Vielleicht kann ja trotzdem jemand das Skript gebrauchen.