PowerShellコマンドのstderr出力を変数に格納したい。ファイルに保存したくないし、標準出力も含めたくありません。エラー出力だけです。
これにより、error.txt
という名前のファイルにリダイレクトされます。
&$ command $ params 2> error.txt
これにより、stderrとstdoutの両方が$ output変数にリダイレクトされます。
$ output =&$ command $ params 2>&1
しかし、私はonlyエラー出力を変数に保存したい(上記のerror.txtファイルの内容と同じ)が、ファイルには何も書き込まない。それ、どうやったら出来るの?
コマンドを少し異なる方法で呼び出して、-ErrorVariable
PowerShellのパラメーター:
Invoke-Expression "$command $params" -ErrorVariable badoutput
$badoutput
にエラー文字列の内容が含まれます。