Powershellの$?
の意味はなんですか?
編集:TechNet answersトートロジーで、 '失敗' '成功' または何を説明せずに意味。
$?
最後の操作の実行ステータスが含まれます。最後の操作が成功した場合はTRUEを返し、失敗した場合はFALSEを返します。
私は$と推定していますか? $ LastExitCodeが0かどうかをテストするだけですが、$ counter exampleが見つかりました。 $ LastExitCodeはTrueです。
Powershellの$?
の意味はなんですか?
編集:TechNet answersトートロジーで、 '失敗' '成功' または何を説明せずに意味。
$?
最後の操作の実行ステータスが含まれます。最後の操作が成功した場合はTRUEを返し、失敗した場合はFALSEを返します。
私は$と推定していますか? $ LastExitCodeが0かどうかをテストするだけですが、$ counter exampleが見つかりました。 $ LastExitCodeはTrueです。
最後のコマンドが成功した場合はtrue
、それ以外の場合はfalse
を返します。
しかし、いくつかの注意点や非自明な動作(例:「成功」と正確には何を意味するか)があります。完全な治療のためにthis articleを読むことを強くお勧めします。
たとえば、Get-ChildItemを呼び出すことを検討してください。
PS> Get-ChildItem
PS> $?
True
$? Get-ChildItemの呼び出しが成功するとTrue
が返されます。
ただし、存在しないディレクトリでGet-ChildItemを呼び出すと、エラーが返されます。
PS> Get-ChildItem \Some\Directory\Which\Does\Not\Exist
Get-ChildItem : Cannot find path 'C:\Some\Directory\Which\Does\Not\Exist' because it does not exist.
PS> $?
False
$?前のコマンドが成功しなかったので、ここでFalse
を返します。
$?
には、最後のコマンドでエラーが発生した場合は$false
が含まれます。それがなければ$true
を含むでしょう。 PowerShell v1日で、これはエラー処理を行う一般的な方法でした。たとえば、スクリプトで、ファイルの存在を確認し、カスタムメッセージがない場合はカスタムメッセージを印刷する場合は、次のようにします。
Get-Item -Path john -ErrorAction silentlycontinue;
if(-not $?)
{
'could not find file.';
exit
}`
代わりに人々は今何をしていますか? – mikemaccana
@mikemaccana、ここの同じボートに....私はtry/catchステートメントと思うでしょう。 – Johnrad
コマンドとは何ですか? –
@MattHickfordコマンドはPowershellを使って実行するものです。たとえば、コマンドレットまたは実行可能ファイルにすることができます。私が追加した例を見てください。 –
「成功」とはどういう意味ですか?あなたは$ LastExitCodeが0の場合にのみ、それが意味すると思いますか? –