For example, consider the following console transcription:
PS C:\dev\windows> rmdir -Recurse .\bin Remove-Item : Cannot remove item C:\dev\windows\bin\DotNet\Debug\Implementation\Common.DTO.XML: Access to the path 'Common.DTO.XML' is denied. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : PermissionDenied: (Common.DTO.XML:FileInfo) [Remove-Item], UnauthorizedAccessException + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Directory C:\dev\windows\bin\DotNet\Debug\Implementation cannot be removed because it is not empty. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : WriteError: (Implementation:DirectoryInfo) [Remove-Item], IOException + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Cannot remove item C:\dev\windows\bin\DotNet\Debug\Shunra.Common.Contract.XML: Access to the path 'Shunra.Common.Contract.XML' is denied. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : PermissionDenied: (Shunra.Common.Contract.XML:FileInfo) [Remove-Item], UnauthorizedAccessException + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Cannot remove item C:\dev\windows\bin\DotNet\Debug\Shunra.Common.XML: Access to the path 'Shunra.Common.XML' is denied. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : PermissionDenied: (Shunra.Common.XML:FileInfo) [Remove-Item], UnauthorizedAccessException + FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Directory C:\dev\windows\bin\DotNet\Debug cannot be removed because it is not empty. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : WriteError: (Debug:DirectoryInfo) [Remove-Item], IOException + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Directory C:\dev\windows\bin\DotNet cannot be removed because it is not empty. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : WriteError: (DotNet:DirectoryInfo) [Remove-Item], IOException + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand Remove-Item : Directory C:\dev\windows\bin cannot be removed because it is not empty. At line:1 char:6 + rmdir <<<< -Recurse .\bin + CategoryInfo : WriteError: (C:\dev\windows\bin:DirectoryInfo) [Remove-Item], IOException + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand PS C:\dev\windows>
Now compare it with a regular shell (cmd.exe):
C:\dev\windows>rmdir /s/q bin bin\DotNet\Debug\IMPLEM~1\Common.DTO.XML - Access is denied. bin\DotNet\Debug\Shunra.Common.Contract.XML - Access is denied. bin\DotNet\Debug\Shunra.Common.XML - Access is denied. C:\dev\windows>
The difference is obvious, and I like the laconicism of cmd.exe much more than the verbosity of powershell.
Can I have the same succinctness in powershell? If not for all commands, then maybe only for the Remove-Item, which I often use?
source share