killtec
Goto Top

Bestimmte Verzeichnisse löschen via Powershell

Hallo,
ich habe ein Verzeichnis und möchte das gern via Powershell leeren.
Genauer gesagt, sind in diesem Verzeichnis nochmal Unterverzeichnisse als "Root".
Beispiel:
C:\Temp\Main1
C:\Temp\Main2
...

ich wollte jetzt via Powershell alle Unterordner und Dateien unter Main1, Main2 ... löschen. Ich dachte mir, dass ich per Set-Location auf C:\Temp gehe und dann via gci mit einem Pipe den Namen wähle und dann alles Lösche darin.

Also ungefair so:
Set-Location S:\Scan
gci | select name | Remove-Item -Recurse -Force -WhatIf

Jedoch klappt das nicht... Object not found C.\Temp\@{Name=Main1:String}

Ich vermute meinen Fehler bei Select name, gibt es hier eine Möglichkeit, dass er nur den Namen zurück gibt?

Gruß

Content-Key: 306422

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

Printed on: April 24, 2024 at 23:04 o'clock

Member: Kraemer
Kraemer Jun 07, 2016 updated at 13:36:35 (UTC)
Goto Top
$Path = "C:\temp"  
Remove-Item $Path -recurse -Force -WhatIf
Member: killtec
killtec Jun 07, 2016 updated at 13:42:07 (UTC)
Goto Top
HI,
deins würde ja alles ab C:\Temp löschen, das ist ja nicht gewollt...
Ich habe noch was gefunden. Man kann das Select Name kürzen auf
gci -name
Dann klappt das.
Set-Location C:\Temp
gci -name | Remove-Item -Recurse -Force -WhatIf

Gruß

#Edit: das macht doch das gleiche... Sorry...
Member: killtec
killtec Jun 07, 2016 at 13:43:14 (UTC)
Goto Top
Also ich will nur den Inhalt unter c:\temp\Main1 und C.\Temp\Main2 etc. löschen. Der Ordner selbst soll erhalten bleiben....
Mitglied: 129413
129413 Jun 07, 2016 updated at 13:55:24 (UTC)
Goto Top
remove-item 'C:\temp\*\*' -Recurse -Force -whatif -EA Ignore  
oder
gci 'C:\temp' -Directory | %{remove-item "$($_.Fullname)\*" -recurse -force -EA Ignore}  
Gruß skybird
Member: Kraemer
Kraemer Jun 07, 2016 at 13:51:11 (UTC)
Goto Top
Ooops - hatte ich glatt überlesen
Member: killtec
killtec Jun 07, 2016 at 13:56:29 (UTC)
Goto Top
Hi
@129413: Genau das was ich suche face-smile Dachte nicht, dass das in einem Einzeiler geht ;)

Wofür steht eigentlich das -EA Ignore ?

Gruß
Mitglied: 129413
129413 Jun 07, 2016 updated at 14:02:26 (UTC)
Goto Top
-ErrorAction Ignore
Fehler nicht ausgeben und ignorieren
Member: killtec
killtec Jun 07, 2016 at 14:02:59 (UTC)
Goto Top
Ah, danke dir face-smile