2
私はVBScriptからPSスクリプトを実行していますが、PSにエラーがある場合はVBScriptで例外をスローしたいと思います。これは私がPowerShellを実行するために使用するVBScriptコードです:VBScriptでpowershell例外をキャッチ
Option Explicit
Dim oShell, appCmd
Set oShell = CreateObject("WScript.Shell")
appCmd = "powershell set-executionpolicy unrestricted -force; c:\3.ps1"
oShell.Run appCmd, 4, true
これは私のPSスクリプトです:
throw "I'm exception"
私は一般的なVBScriptのキャッチしようとしました:
if(Err.number <> 0) then
Err.raise()
end if
をしかし、それはdoesnのうまくいくようです。私はPSだけを使い、VBScriptを取り除きたいですが、VBを動かしているもう一つのアプリケーションで、VBしかサポートしていません。何か案は?
PSでファイルに例外を書き込んだり、VBsでファイルが存在するかどうかをチェックして例外をスローすることができますが、より良い方法があることを願っています。 おかげ$MyErrorLevel
あなたはVBSで検出し、独自のコードでPowerShellスクリプトを使用する際に
ニースは、うまく動作します。例外メッセージを渡す方法はありますか? –
私は良い方法を見つけました:appCmd = "powershell set-executionpolicy unrestricted -force; c:\ 3.ps1; exit $ LASTEXITCODE"この方法で私はPSで終了コードを設定する必要はありません –
私は認識していません、 ごめんなさい。心に浮かんでいるのは、それをテキストファイルで渡してゼロ以外の終了コードイベントを読むことですが、それは回避しようとしているアプローチです。 –