Cannot remove item. The directory is not empty

Solution 1:

You could try the following:

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

Note when using the -Recurse parameter with -Include in Remove-Item, it can be unreliable. So it's best to recurse the files first with Get-ChildItem and then pipe into Remove-Item. This may also help if you deleting large folder structures.

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

Solution 2:

File is open in another program

I forgot that I had Visual Studio open with my project open and was getting this error.

Close any files associated with that directory, run PowerShell as admin, then run the command:

Remove-Item "C:\path\to\dir" -Recurse -Force

Pro Tip

You can also run this command to open file explorer:

ii "C:\path\to\dir"

If you right click and try to delete it, it might give you a more verbose error than command line.

Solution 3:

Note that

Remove-Item -Force -Recurse -Path "C:\MyFolder"

Produces this error, but

Remove-Item -Force -Recurse -Path "C:\MyFolder\*"

Does not.

So don't forget the magic sauce