1. ホーム
  2. visual-studio-2010

[解決済み] Visual StudioのコマンドプロンプトでPowerShellを使用するにはどうすればよいですか?

2022-06-14 11:34:39

質問

しばらく Beta 2 を使用していますが、Visual Studio 2010 のコマンド プロンプトを実行するときに cmd.exe にパントしなければならないので、いらいらさせられています。以前は素晴らしい vsvars2008.ps1 スクリプトを使用していました。このスクリプトは vsvars2010.ps1 スクリプトまたは同様のものがありますか?

どのように解決するのですか?

ブログ記事からの盗用 Visual StudioのコマンドプロンプトをPowerShellに置き換える で、これを動作させることができました。私は、以下を自分の profile.ps1 ファイルに追加し、すべてがうまくいきました。

pushd 'c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC'
cmd /c "vcvarsall.bat&set" |
foreach {
  if ($_ -match "=") {
    $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
  }
}
popd
write-host "`nVisual Studio 2010 Command Prompt variables set." -ForegroundColor Yellow

これは何年もうまくいっていました - Visual Studio 2015までは。 vcvarsall.bat はもはや存在しません。その代わりに vsvars32.bat ファイルを使ってください。 Common7Tools フォルダー .

pushd 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools'    
cmd /c "vsvars32.bat&set" |
foreach {
  if ($_ -match "=") {
    $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
  }
}
popd
write-host "`nVisual Studio 2015 Command Prompt variables set." -ForegroundColor Yellow

Visual Studio 2017ではまたまた変わりましたね。 vsvars32.bat が廃止されたようで、代わりに VsDevCmd.bat . 正確なパスは、使用しているVisual Studio 2017のエディションによって異なる場合があります。

pushd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools"
cmd /c "VsDevCmd.bat&set" |
foreach {
  if ($_ -match "=") {
    $v = $_.split("="); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])"
  }
}
popd
Write-Host "`nVisual Studio 2017 Command Prompt variables set." -ForegroundColor Yellow

また、環境変数名と値の区切りでもある等号を含む値が壊れないように、分割は2項目だけ作成するようにします。

$v = $_.split("=", 2); set-item -force -path "ENV:\$($v[0])"  -value 

Visual Studio 2022が64bitになったので、マイナーチェンジしました。

pushd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools"
cmd /c "VsDevCmd.bat&set" |
foreach {
  if ($_ -match "=") {
    $v = $_.split("=", 2); set-item -force -path "ENV:\$($v[0])"  -value "$($v[1])" 
  }
}
popd
Write-Host "`nVisual Studio 2022 Command Prompt variables set." -ForegroundColor Yellow