PowerShell Powershell - Filtern nach Dateinamen

Captium

Cadet 4th Year
Registriert
Apr. 2017
Beiträge
81
Hallo zusammen,

ich bin noch ein Anfänger im PS Bereich.
Sagen wir es gibt hunderte Dateien die alle im Namen "Persist" haben. Aber der Name ist nie gleich, im Name sind immer anderen IDs
Z.b.
Cap_Persist_29814216
Cap_Persist_36365847
Cap_Persist_49181154
Cap_Persist_85254964
Cap_Persist_19684697
...
Jetzt will ich nach allen Dateien Filtern die "Persist" im Namen enthalten haben und diese löschen.
Wie mache ich das?

PS: Noch ein kleine Frage, wie Frage ich im PS ab ob X GB in einem Ordner ist, wenn ja soll dies das löschen, wenn nicht, ignorieren.
hat jemand eine Idee?

Vielen danke und viele Grüße
 
Hallo,

damit der Lerneffekt nicht zu kurz kommt: die Stichworte lauten Get-ChildItem und der Operator/Filter "-like" (hier in Verbindung mit sogenannten "WildCards").
Damit wirst Du fündig, fast von Treffern über Google erschlagen ;)
 
@SonyXP
Eigentlich hast du recht

gci -path 'C:\DeinPfad' -r -force -include *Persist* | remove-item

@Captium
Measure-object ist das Stichwort für deine zweite Frage
 
Zuletzt bearbeitet:
Vielen Dank, habs hinbekommen.
Hat jemand meiner zweiten Frage noch Ideen? Schlagworte etc.?
 
Zu Frage 2, hier mal ein paar Anregungen, wie man das mit den Dateigrößen ermitteln könnte.
Im Internet gibt es massenweise Informationen zu solchen Themen.

Gci -Dir -R | %{ If($_.GetFiles().Length -Gt "1000") {$_.FullName}}
Gci -Dir -R | %{ If($_.GetFiles().Length -Lt "500") {$_.FullName}}

Gci -Dir -R | %{$_.FullName; ((Gci -File $_.FullName |
Measure Length -Sum).Sum) /1MB }

Gci -File | Measure-Object Length -Max
Gci -File | Measure-Object Length -Min
Gci -File | Measure-Object Length -Sum
Gci -File | Measure-Object Length -Average

Zum Löschen "Remove-Item" einbauen.
 
Zurück
Oben