Visual Studio 9.0をインストールしましたが、PowerShellから手動で使用したいと思います。これには、32ビットコンパイラの場合はvcvars32.bat
、64ビットコンパイラの場合はvcvars64.bat
という2つのセットアップスクリプトが付属しています。 cmd.exe
を開いてスクリプトの1つを実行すると、すべてがうまくセットアップされ、問題なくcl.exe
を実行できます。 PowerShellからこれらのセットアップスクリプトの1つを実行すると、動作しません。スクリプトは正常に実行されますが、その後cl.exe
を実行しようとすると、「cl.exe
が見つかりませんでした」というエラーが発生します。そして、セットアップスクリプトの1つを実行した後にPATH
環境変数の内容を見ると、実際には全く変更されていないことがわかります。PATH
PowerShellからVisual Studio環境変数を設定する
バッチファイルが終了するとすぐに消えるように、PowerShellのバッチファイルは独自の環境変数の状態を維持しているようです。 PowerShellからバッチファイルを実行し、それらのバッチファイルを現在のPowerShellセッションの実際の環境変数に影響させる方法はありますか?それは私が必要とするものなので。 vcvars32.bit
とvcvars64.bit
で行われているのはすべて、後で環境変数を設定していますが、PowerShellではなく、cmd.exe
からしか動作していないようです。
ありがとう、しかし、それは動作していないようです。あなたの 'README.md'で説明したように私のプロフィールに追加しましたが、' Invoke-Environment'コマンドが見つかりません。完全修飾パスを使用してスクリプトを呼び出すと、スクリプトが見つかりますが、出力がなく、環境変数も正しく設定されていないため、引数として渡すバッチスクリプトを実行していないようです。 – Andreas
あなたはそれをすべてやる必要はありません。アクティブなシェルに関数をコピー/ペーストするだけです。私はそれが機能するようにプロジェクトの数に関数を使用しました。変数が '$ Env:'に存在するかどうかチェックしたかどうかを調べるための出力はありません。 – majkinetor
まだ動作しません。あなたの例で 'VS100COMNTOOLS'とは何ですか?これは環境変数ですか?ここには設定されていません。 'vsvarsXXX.bat'スクリプトは' C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin'にあります。 – Andreas