PowerShell,コマンドの実行結果(終了ステータス)を取得

スポンサーリンク

鍛錬 582

PowerShell,処理やコマンドの実行結果(終了ステータス)を取得する方法

処理やコマンドが成功したか否かの実行結果(終了ステータス)を取得(確認)するには、$? を使用します。
 
$? に格納される値は、以下に示す通りです。

実行結果 格納される値
成功 True
エラー False
 
スポンサーリンク

スクリプト

以下は、処理が成功した場合とエラーの場合に終了ステータスを取得するスクリプト、check_result.ps1 です。

今回は、成功する処理として Get-Date を実行し、エラーとなる処理として存在しないコマンドレット AAAAA を実行しています。

また、エラー情報をコンソールに表示させずに結果を見やすくするため、$ErrorActionPreference を使用しています。

関連記事:Windows-PS,エラー発生時、エラー情報を非表示にする方法

実行するコマンドレット 実行結果
Get-Date 成功する
AAAAA AAAAA というコマンドレットは存在しないため、
エラーとなる
# エラー情報を表示せずに,処理を継続するように設定
$ErrorActionPreference = "SilentlyContinue"

echo "処理が成功した場合----------"
Get-Date
echo "実行結果 = $?"
echo "----------------------------`r`n"

echo "処理がエラーの場合----------"
AAAAA
echo "実行結果 = $?"
echo "----------------------------"

実行結果

以下は、スクリプト check_result.ps1 を実行しています。

PS D:\tmp>
PS D:\tmp> .\check_result
処理が成功した場合----------

2019年5月18日 3:09:37
実行結果 = True
----------------------------

処理がエラーの場合----------
実行結果 = False
----------------------------

 
上記に示した通り、処理の実行結果を取得することができました。

スポンサーリンク

シェアする

フォローする