Wie kann ich mit PowerShell Dateien und Ordner löschen?
Hallo zusammen,
Ich möchte alle Unterordner und Dateien aus einer langen Liste von Ordnern löschen.
Z.B. E:/Test/a, E:/Test/b, E:/Test/c, …
Wichtig ist mir aber, dass die Überordner (z.B. E:/Test/a, E:/Test/b, E:/Test/c, …) bestehen bleiben. Ich hoffe, ihr wisst was ich meine. 😅
Kann man sowas in PowerShell irgendwie mit einer Schleife realisieren? Oder irgendwie anders, so dass man nicht jeden Pfad einzeln aufrufen muss?
Ich hoffe, mir kann hier jemand weiterhelfen!
Vielen Dank schon einmal!
1 Antwort
ganz simpel:
Get-ChildItem 'E:\test\*\*' |Remove-Item -force -recurse -whatif
...Ich wollte diese Variant zuerst nicht für einen Anfänger posten, weil "gestapelte" Wildcards mächtig ins Auge gehen können. ...aber für Diesen Zweck ist das Vorgehen wohl am einfachsten.
...etwas mehr Kontrolle als bei einer puren Wildcard-Aktion, erhältst Du mit ve4rschachtelten Foreach.
#sammle alle Ordner direkt unter Test ein, die sollen ja erhalten bleiben
Get-ChildItem 'E:\test' |%{
#emittle die Inhalte für jeden gesammelten Ordner und lösche diese (-zum scharfmachen -whatif entfernen)
Get-ChildItem $_.Fullname| Remove-Item -force -recurse -whatif
}
...wenn die passende Testumgebung für obiges Script erstellst Du mit:
65..90|%{
$myNewFolder = 'E:\Test\{0}\blubb' -f [char]$_
md $myNewFolder -force
1..9|%{
''>('{0}\Irgendwas{1}.txt' -f $myNewFolder,$_)
}
}