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.