[PS1] バッチファイルで設定した環境変数を Powershell 側で取得する

2015年11月4日

 たとえばこんなバッチファイル (a.bat) があるとして。

SET AAA=ABC123
echo 設定しました。

 Powershell でこのバッチファイルを呼び出し、このバッチファイルで設定されている環境変数の値を Powershell 側で取得したい場合、以下のように書くことで取得できます。

PS> $a = cmd /c "@echo off & call a.bat > nul & call echo %AAA%"
PS> $a
ABC123

 ポイントは、環境変数を Powershell で取得するに際し標準入出力を使っていることと、環境変数の値を標準出力に出力するに際して、call echo ~、と call をつかっているところでしょうか。

 この方法では別の問題が発生する場合もありますが、まあ一つの方法としてメモ。






カテゴリー: OS, PowerShell, Windows

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org