Jaki jest najprostszy sposób, aby wymusić usunięcie katalogu i wszystkich jego podkatalogów w PowerShell? Korzystam z programu PowerShell V2 w systemie Windows 7.
Nauczyłem się z kilku źródeł, że najbardziej oczywiste polecenie Remove-Item $targetDir -Recurse -Force
nie działa poprawnie. Obejmuje to oświadczenie w pomocy online programu PowerShell V2 (znalezione przy użyciu Get-Help Remove-Item -Examples
), które stwierdza:
... Ponieważ parametr Recurse w tym poleceniu cmdlet jest wadliwy, polecenie używa polecenia cmdlet Get-Childitem, aby uzyskać pożądane pliki, i używa operatora potoku do przekazania ich do polecenia cmdlet Remove-Item ...
Widziałem różne przykłady, które używają Get-ChildItem i potokują go do Remove-Item , ale przykłady zwykle usuwają pewien zestaw plików oparty na filtrze, a nie cały katalog.
Szukam najczystszego sposobu wysadzenia całego katalogu, plików i katalogów podrzędnych, bez generowania komunikatów ostrzegawczych użytkownika przy użyciu najmniejszej ilości kodu. Jednoliniowy byłby miły, jeśli jest łatwy do zrozumienia.
rd
to alias dla Remove-Item
w PowerShell. cmd /c "rd /s /q"
działa jednak.
RD /S /Q