stefanlausl
Goto Top

Mit Powershell Dateien löschen

Hallo,

folgendes Problem:

Aus einem Verzeichnis sollen alle Dateien, welche in Unterordner liegen gelöscht werden,
die Älter als 30 Tage sind.
Bleiben in einem Ordner keine Dateien mehr übrig, dann soll der gesamte Ordner gelöscht werden.
Bestimmte Ordner müssen komplett ausgeschlossen werden.

Da ich keine Ahnung von Powershell habe, habe ich aus dem Forum einige ähnliche Skripte zu einem Skript zusammengefasst.

Leider funktioniert das nicht wirklich.
Es werden nur die Dateien gelöscht.
Die Ordner bleiben stehen.

Hier das Skript:

get-childitem "C:\temp\delete" -recurse | where {$_.lastwritetime -lt $DatumVor30Tagen -and -not $_.psiscontainer -and $_.mode -notmatch "NichtLoeschen1"} | where {$_.Name -notmatch "NichtLoeschen1|NichtLoeschen2"} |% {remove-item $_.fullname -force -verbose -whatif }

oder auch das:

Get-ChildItem "C:\temp\delete"| where {$_.lastwritetime -lt $DatumVor30Tagen} | where {$_.Name -notmatch "NichtLoeschen1|NichtLoeschen2" } | Foreach { Get-ChildItem $_.pspath | Remove-Item -recurse -whatif }


Beide Version funktionieren nur so Halb.

Für Eure Hilfe wäre ich sehr dankbar.

Content-ID: 196996

Url: https://administrator.de/contentid/196996

Ausgedruckt am: 16.11.2024 um 11:11 Uhr

Coreknabe
Coreknabe 15.01.2013 um 13:45:51 Uhr
Goto Top
Hi,

sicher hast Du schon ausgiebig die Suchfunktion genutzt? Einmal die hier im Forum und auch bei Herrn Google?
Dateien Löschen älter 30 Tage mit Powershell
StefanLausL
StefanLausL 15.01.2013 um 14:57:49 Uhr
Goto Top
Hi,

auch das hatte ich gefunden.
Unglaublich oder ?

Hab schon alle hier angegebenen Beispiel ausprobiert.
Letzter Stand siehe oben
Coreknabe
Coreknabe 15.01.2013 um 15:00:59 Uhr
Goto Top
Da habe ich dann nicht geahnt, was Du schon alles probiert hast. Entschuldige bitte vielmals.
filippg
filippg 15.01.2013 um 20:20:40 Uhr
Goto Top
Hallo,

ich würde spontan tippen, dass du mit "-not $_.psiscontainer" in der obersten Zeile die Ordner alle ausfilterst - aber das hast du ja bestimmt auch schon gefunden - "Unglaublich oder ?"

Gruß

Filipp
StefanLausL
StefanLausL 16.01.2013 um 08:35:15 Uhr
Goto Top
Auch das hatte ich ausprobiert.

Ich bin langsam der Meinung das man das Skript in zwei Schritten ausführen muss.
Einmal alle Dateien aus den Ordnern löschen ausgenommen Ordner xy und danach
ein weiterer Schritt der dann die leeren Ordner löscht.