
WSH初心者です。
WSH(remote.vbs)からWMI使用で別サーバのA.batを実行しているのですが、
A.batの戻り値はどのように取得すれば良いのでしょうか?
-■remote.vbs(一部抜粋)------------------------------------------
' #WMI に接続 Wim32_Process クラスを取り出す
Set clsProcess = GetObject("winmgmts:{impersonationLevel=impersonate}" & "!" & リモート先PC & "Win32_Process")
' #プロセスの作成
lngResult = clsProcess.Create(A.bat, null, null, processId)
--------------------------------------------------------------
-■A.bat------------------------------------------
exit /B %RetCode%
-------------------------------------------------
A.batで返している%RetCode%の値をremote.vbs側で取得したいのです。
どなたかご存じでしたらご教授の程よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>A.batで返している%RetCode%の値をremote.vbs側で取得したいのです。
取得は出来ません。
A.batの終了値はA.batを起動したシェル(cmd.exe等)には伝わりますが、それより上位(呼び出し元)には伝わりません。
上位に伝わるのは「シェル(cmd.exe等)の終了コード」であり、それは「常に、正常終了を意味する0」です(cmd.exeが「リードエラー。(A)bort,(R)etry,(F)ail?」などの致命的エラーを吐いて強制終了した場合のみ、0以外が返ってきます)
こういう事をしたい場合は
-■A.bat------------------------------------------
echo %RetCode% > result.txt
exit
-------------------------------------------------
など、結果をテキストファイルなどに吐き出させ、呼び出し元に戻ってきてから、吐き出されたテキストファイルをオープンして中身を読み込んで結果を得るしか、方法はありません。
また、呼び出し元で、呼び出したプロセスが終了したかどうか判らない場合もあるので、その場合は、以下のようにします。
1.呼び出し元で、結果ファイルを削除する。
2.リモートでプロセスを起動する。
3.呼び出し元は、結果ファイルが生成されるまで待つ。
4.呼び出されたプロセスは、終了時に結果ファイルを生成する。
5.呼び出し元が結果ファイルの生成を検知したら、中身を読んで結果を取り出す。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションが終了するま...
-
常駐するアプリケーションを初...
-
プロセスIDの再利用
-
プロセスIDからウィンドウハ...
-
OSPFでプロセスを分ける意義に...
-
explorer.exeが異様にメモリを食う
-
プロセスのアタッチ・デタッチ...
-
実行中のプログラムIDが取得...
-
VBスクリプトでIISのプロ...
-
コマンド実行時の結果のリダイ...
-
シェルで親プロセス終了時に子...
-
プロセスIDからプロセスの有無...
-
Windowsでのfork方法
-
プロセスIDの取得(タスクバー...
-
起動しているプロセスの確認
-
怪しいプロセス教えてください。
-
Macターミナルで実行中のプログ...
-
powershell を使いカレントディ...
-
.NetのBackgroundWorkerクラス...
-
家電製品の電力周波数を変える機械
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タスクマネージャーのプロセス...
-
バックグラウンドのプロセスの...
-
プロセスのアタッチ・デタッチ...
-
OSPFでプロセスを分ける意義に...
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
vb.netでEXCEL起動がうまくでき...
-
C#でのbatファイル実行結果取得
-
プロセスIDの取得方法について
-
Linuxでのスレッド間メッセージ...
-
Visual C++からpingを実行して...
-
SendMessageが失敗するときがある
-
IISがフリーズ
-
スティーブ・ジョブズはプログ...
-
c言語でプロセスIDを調べたい
-
特定ユーザーのプロセス情報を...
-
怪しいプロセス教えてください。
-
セマフォとmutexの違いは?
-
Windowsでのfork方法
おすすめ情報