15

こんにちは私はPowershellを初めて使用しますが、ちょっとした質問が1つあります。コマンドが正常に完了したかどうかを確認できるようにして、ホストに意味のあるメッセージを送信できるようにします。

このコマンドを使用してappcmd、IISにバインディングを追加しています。基本的に、それは次のようになります。

./appcmd set site /site.name:........................

しかし、それが成功したかどうかを確認するにはどうすればよいですか?

Write-Host "Successfully added binding"そのステートメントの直後に置くと、成功したかどうかに関係なく、後で起動すると思いますappcmd

私は次のようなことをする必要があると思います:

$successful = ./appcmd set site /site.name:........................

しかし$successful、メッセージの結果を含む文字列のように見えますか?

これに関する助けに感謝します!乾杯

4

1 に答える 1

18

appcmdがコンソールexeであると仮定すると、エラーが発生した場合でも、スクリプトの次の行が実行されます。

EXEでエラーが発生し、EXEが標準の0終了コードを使用して成功を示しているかどうかをテストする場合は、EXEを$?呼び出した直後に特別な変数を調べてください。$ trueの場合、EXEは0の終了コードを返しました。

EXEが成功のために返す終了コードに関して非標準である場合(おそらく複数の成功コードがある場合)$LastExitCode、最後に返された正確な終了コードを取得するために検査します。

于 2010-10-21T00:09:55.617 に答える