2017-01-22 3 views
1

私は手作業によるプロセスをワンクリックで処理することに取り組んでおり、これらのmsgboxのポップアップをvbsスクリプトから実行しました。 は基本的に私は、PowerShellを使用してのような何かやっている:$ LOCSの$ LOCを実行する必要が.vbsファイルのパスを保持する変数をあるpowershellスクリプトのvbscript msgboxに反応することは可能ですか?

foreach ($loc in $locs): 
    & cscript $loc 

を。

私たちの開発者の一人は、それぞれの.vbsファイルに2つのmsgboxステートメントが含まれていて、それらがポップアップして[OK]をクリックする必要があります。 vbsスクリプトを編集して削除するのは簡単ですが、私は開発者のスクリプトを変更したくありません。質問は、powershellをcscript行から生成されたmsgboxに反応させることです?私はどのようにボックスを文脈に持っていくのか、それともpowershellを使ってそれに反応するのかはわかりません。

答えて

5

は、バッチモードでスクリプトを実行し、これは失速実行から任意のプロンプトを防ぐことができます:

foreach ($loc in $locs){ 
    & cscript //B $loc 
} 

cscript /?使用方法のメッセージから:

Usage: CScript scriptname.extension [option...] [arguments...] 

Options: 
//B   Batch mode: Suppresses script errors and prompts from displaying 
//D   Enable Active Debugging 
//E:engine Use engine for executing script 
//H:CScript Changes the default script host to CScript.exe 
//H:WScript Changes the default script host to WScript.exe (default) 
//I   Interactive mode (default, opposite of //B) 
... 
+0

あまりにも多くの時間がそれをoverthinkingに入りました。私はこれを試してみましょうが、おそらく動作するはずです。 – abou

+0

私はこれを試しました。私は質問に答えて答えを受け入れるつもりです。私はvbsがsqlplusとsqlldrを呼び出し、それらがこのスイッチで実行されないので、これを使うことはできません。 – abou

関連する問題