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-Key: 196996

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

Printed on: April 19, 2024 at 22:04 o'clock

Member: Coreknabe
Coreknabe Jan 15, 2013 at 12:45:51 (UTC)
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
Member: StefanLausL
StefanLausL Jan 15, 2013 at 13:57:49 (UTC)
Goto Top
Hi,

auch das hatte ich gefunden.
Unglaublich oder ?

Hab schon alle hier angegebenen Beispiel ausprobiert.
Letzter Stand siehe oben
Member: Coreknabe
Coreknabe Jan 15, 2013 at 14:00:59 (UTC)
Goto Top
Da habe ich dann nicht geahnt, was Du schon alles probiert hast. Entschuldige bitte vielmals.
Member: filippg
filippg Jan 15, 2013 at 19:20:40 (UTC)
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
Member: StefanLausL
StefanLausL Jan 16, 2013 at 07:35:15 (UTC)
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.