たとえばこんなバッチファイル (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 をつかっているところでしょうか。
この方法では別の問題が発生する場合もありますが、まあ一つの方法としてメモ。