Слегка измененная версия Casey's, предназначенная для VS 2010 и ожидающая завершения преобразования. Это также копирует файл решения в файл с символом x перед .sln.
$slnFiles = ls "C:\projects\source\" -Filter *.sln -Recurse
$devenv = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
$i = 1
foreach ($sln in $slnFiles)
{
"Upgrading Solution " + $i++ + ": " + $sln.FullName
Start-Process -Wait $devenv -ArgumentList /NoSplash,/upgrade,$sln.FullName
$name = $sln.name -replace ".sln", "x.sln"
Rename-Item $sln.FullName -NewName $name
}
"Done!"