2016-07-01 13 views
13

Próbuję usunąć folder z podfolderami/plikami.Nie można usunąć elementu. Katalog nie jest pusty.

Remove-Item -Force -Recurse -Path $directoryPath 

Dostaję błędu Cannot remove item. The directory is not empty.

My PowershellScript.ps1 ma ExecutionPolicy nieograniczony. Folder główny, który próbuję usunąć z bieżącym zalogowanym użytkownikiem, ma w tym folderze pełne pozwolenie.

Na moim lokalnym komputerze kod działa, ale nie na moim Windows Server 2012 R2.

Odpowiedz

14

można spróbować następujących czynności:

Remove-Item -Force -Recurse -Path "$directoryPath\*" 

Ale parametrem Remove-Item-Recurse nie zawsze działa poprawnie więc najlepiej recurse pliki najpierw Get-ChildItem następnie rurę im do Remove-Item.

Get-ChildItem $directoryPath -Recurse | Remove-Item -Force 
+0

Czytam na SO, że w moim przypadku -Recurse powinien działać dobrze. – HelloWorld

+0

Jakiej wersji PowerShell używasz? – Richard

+0

PSVersion ma wartość 4.0, ale wygląda na to, że oryginalny komunikat o błędzie może wprowadzać w błąd lub ukrywać prawdziwy błąd. Kiedy usuwam transakcję SQLCMD z mojego wykonanego insertstatementscripts.bat, wówczas folder główny może zostać usunięty !!! Wygląda na to, że transakcja SQLCMD + w powłoce powershell wykonuje asynchroniczne wykonywanie ... a SqlCmd nie czeka. – HelloWorld

Powiązane problemy