2017-02-24 6 views
0

私はここには入っていないので、powershellを使用して別のアプリケーションを呼び出してから、別のアプリケーションを作成しなければなりません。それをバッチファイルに統合するには、powershell -compatand "& {}"と入力してください。これはすでに痛いです。私はwhileループを呼び出して、プロセスIDが来るのを確認してから、待ってからもう一度呼び出してください。 ここで問題となるのは、Visual Basicの静的メンバーを使用してそのアプリケーションにフォーカスを切り替えることです。 つまり、[microsoft.visualbasic.interaction] :: AppActivate($ hwnd) - $ hwndは問題のアプリケーションのプロセスIDです。Powershellエラー静的メンバーでキャッチする

アプリケーションのロードが完了するのを待つために、人工タイマーのようなものを置くのは大嫌いです。私はちょうどそこにタイマーを置くのが大好きです。しかし、静的メンバの呼び出しは-erroractionや-errorvariableをサポートしていないようで、try {} catch {}はエラーを無視するように見えますが、whileループをトリガするフラグをトリガするのに使いたいと思っています再度1秒の睡眠の後。

他にどのような方法は、静的メンバ演算子のうち、エラーをキャッチするためにあります::

+1

静的メンバーは、エラーをコマンドレットとは異なる方法で処理しますが、 '$ ErrorActionPreference'に関係なく常にtry/catchをトリガする必要があります。トラップされていないエラーがスローされていますか? –

+0

無視してください。 Try {} catch {}は、最後の括弧を閉じ括弧で置き換えないとうまくいきます。ちょうど私は愚かで、私のフィナーレを見ていない。 – MisterBook

+0

ああ、私たちは皆そこにいました、あなたはそれを整理してうれしいです=) –

答えて

0

無視。 Try {} catch {}は、最後の括弧を閉じ括弧で置き換えないとうまくいきます。

関連する問題