At development sometimes I need to clean Visual Studio solution and remove all builded files of all build configurations (Debug, Release and other custom). To do this task manually means a lot of clicking in Visual Studio UI. To automate this boring task I created following PowerShell script:
param ( [string] $solution = "MyProduct.sln" ) Set-Alias msbuild "${env:ProgramFiles(x86)}\MSBuild\14.0\Bin\MsBuild.exe" $configurations = @("Debug", "Release") foreach ($configuration in $configurations) { msbuild $solution /t:clean /p:configuration=$configuration /v:minimal | Out-Null } $directories = @("bin", "obj") foreach ($directory in $directories) { Get-ChildItem -Directory -Recurse | ? { $_.Name -eq $directory } | Remove-Item -Recurse -Confirm:$false }
Script uses following cmdlets:
- Set-Alias – creates alias for msbuild
- Out-Null – hides the command output
- Get-ChildItem – gets the child items (directories) in specified location
- Remove-Item – removes the specified items (directories)
If you are interested in PowerShell automation, take my Udemy course Improve your productivity with PowerShell.