silent-daniel
Goto Top

Powershell Unterordner löschen spezielle Vorgaben

Hallo,

ich habe folgende Aufgabe:

Netzlaufwerk:
O:\H_Human_Resources\M_MitarbeiterInnen_aktiv

oder am Server:
D:\Daten\H_Human_Resources\M_MitarbeiterInnen_aktiv

Darin sind Ordner mit den Namen der Mitarbeitern:

Mustermann_Max
Musterfrau_Petra
Silent_Daniel

Darin sind wieder Ordner:
Aus- und Weiterbildung
Bewerbungsunterlagen
Bewerbungsunterlagen
...

Und jeweils mit der Struktur:
M_Mustermann_Max_10001
M_Musterfrau_Petra_10060
S_Silent_Daniel_20158
...

Die 3x _ sind immer da, also kann man nach diesen filtern?
Habe auch eine csv mit den Mitarbeitern (Vorname, Nachname, Nummer)

Nur in diesen (Struktur)Ordnern sollen alle Unterordner gelöscht werden, die leer sind.
Die anderen sollen nicht angegriffen werden.
Fleißaufgabe, gelöschte Ordner in eine Log Datei schreiben.

grün der gesuchte Ordner, rot die leeren, die gelöscht werden sollen.
screenshot 2024-02-14 153235

Kann mir da jemand weiterhelfen?

gruß sd

Content-ID: 63119222523

Url: https://administrator.de/forum/powershell-unterordner-loeschen-spezielle-vorgaben-63119222523.html

Ausgedruckt am: 21.12.2024 um 16:12 Uhr

Kraemer
Kraemer 14.02.2024 um 15:42:46 Uhr
Goto Top
Moin,

Zitat von @silent-daniel:

Die 3x _ sind immer da, also kann man nach diesen filtern?

ja, mit regex z.B.: https://regex101.com/r/2RLuRN/2

Gruß
11078840001
Lösung 11078840001 14.02.2024 aktualisiert um 16:27:19 Uhr
Goto Top
Das Wörtchen "Speziell" scheint wohl in letzter Zeit in aller Munde zu sein face-big-smile

Start-Transcript 'D:\delete.log'  
foreach($folder in Get-ChildItem 'O:\H_Human_Resources\M_MitarbeiterInnen_aktiv\*\*' -Directory | ? Name -match '^\w_\w+_\w+_\d+$'){  
    Get-ChildItem $folder.Fullname -Directory -Recurse | sort {$_.Fullname.Length} -Descending | ?{!$_.GetFilesystemInfos()} | remove-item -Force -recurse -Verbose
}
Stop-Transcript
silent-daniel
silent-daniel 14.02.2024 aktualisiert um 19:59:58 Uhr
Goto Top
Hallo,

Sorry, ja funktioniert doch, habe irgendwas nicht kopiert.

gruß sd