作成 2010.01.05
更新 2014.03.20
更新 2014.03.20
PowerShell で外部コマンドの結果を取り込む
このサンプルでは、dir の実行結果を $ret へ入力します。
Windows 7 の場合は、以下が正しく動作しますが、
$ret = &"dir" Write-Output $ret引数がある場合は、以降につなげます。なお引数を " で囲むと期待通りに動作しないことがあります。dir -force がこの例に該当します。
# 正常 $ret1 = &"dir" -force # エラー $ret1 = &"dir" "-force" # 正常 $ret2 = &"netstat" -n # 正常 $ret2 = &"netstat" "-n" Write-Output $ret1 Write-Output $ret2次のようにも記述できます。
$ret = ` dir $retただし、バージョンによって "`" の後にスペースが必須(Windows 8.1)の場合と、スペースなしが必須(Windows 7)の場合があります。
Windows 7 の場合は、以下が正しく動作しますが、
$ret = `dir -force $ret以下の記述は Windows 7 では正しく動作しません。
$ret = `netstat -n $retよって、多少面倒でも前者を使うのがお勧めです。
タグ: PowerShell