We are using TfsDeployer and PowerShell script to remove the folders using Remove-Item
before deployment of a new version.
Sometimes the PS script fails with the error:
Remove-Item : Cannot remove item Services\bin: The process cannot access the file Services\bin' because it is being used by another proc Get-ChildItem -Path $Destination -Recurse | Remove-Item <<<< -force -recurse + CategoryInfo : WriteError: (C:\Program File..\Services\bin:DirectoryInfo) [Remove-Item], IOException FullyQualifiedErrorId : RemoveFileSystemItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
I’ve tried to follow the answer (from: Force-remove files and directories in PowerShell fails sometimes, but not always) to pipe Get-ChildItem -Recurse
into Remove-Item
.
Get-ChildItem * -Include *.csv -Recurse | Remove-Item
But the error still happens periodically. We are using unlocker to manually kill the locking application, (it’s usually w3wp), but I prefer to find automated solution.
Another (not ideal) option is to-suppress-powershell-errors
Get-ChildItem -Recurse -Force -ErrorAction SilentlyContinue
Any suggestions are welcome.