fabrihublot

Powershell alle Daten Löschen ausser die 5 neusten

Hallo Zusammen face-smile

Ich habe mit meinem Freund ein kleines Skript gemacht welches alle Daten von path löscht ausser die 5 neusten.
Jedoch würden wir gerne dass das Skript nur *.bak und *.zip löscht wie geht das :D?

HIer unsere Skript:


$ErrorActionPreference = "Stop"
$logDir = "C:\Users\fde\Desktop\logs"
$timeStamp = Get-Date -Format "yyyy.MM.ddHHmm"
$logFile = "PowerShell_transcript_$($timeStamp).txt"
Start-Transcript (Join-Path $logDir $logFile)

$path = "C:\Users\fde\Desktop\test"
$errorLogPath = "C:\Users\fde\Desktop\logs”


$files = Get-ChildItem -Path $path -Recurse
$keep = 5
if ($files.Count -gt $keep) {
$files | Sort-Object CreationTime | Select-Object -first ($files.Count - $keep) | Remove-Item -Force
}


Stop-Transcript


Gruss
FabriHublot
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 361455

Url: https://administrator.de/forum/powershell-alle-daten-loeschen-ausser-die-5-neusten-361455.html

Ausgedruckt am: 05.05.2025 um 03:05 Uhr

135185
135185 17.01.2018 aktualisiert um 15:44:50 Uhr
Goto Top
Die Zeile ändern:
$files = Get-ChildItem -Path "$path\*" -Include '*.bak','*.zip' -Recurse -Force |  ?{!$_.PSIsContainer}  
FabriHublot
FabriHublot 17.01.2018 aktualisiert um 14:47:18 Uhr
Goto Top
Jetzt löscht es aber nicht mehr :D
135185
135185 17.01.2018 aktualisiert um 15:45:56 Uhr
Goto Top
Och nö, du sollst die Zeile ändern nicht die Zeile als Ganzes Skript nehmen .....

Also nochmal zum abtippen und das Löschen außer der 5 aktuellsten vereinfacht
$ErrorActionPreference = "Stop"  
$logDir = "C:\Users\fde\Desktop\logs"  
$timeStamp = Get-Date -Format "yyyy.MM.ddHHmm"  
$logFile = "PowerShell_transcript_$($timeStamp).txt"  
Start-Transcript (Join-Path $logDir $logFile)

$path = "C:\Users\fde\Desktop\test"  
$keep = 5
Get-ChildItem -Path "$path\*" -Include '*.bak','*.zip' -Recurse -Force |  ?{!$_.PSIsContainer} | sort CreationTime -Desc | Select -Skip $keep | remove-Item -Force   
Stop-Transcript
Geht!, und tschö.