初めて投稿します。シェル、VBS共に知識が無く困っています。
UNIXからWindows2008の移行に伴い、シェルからVBSに変更しているのですがJP1の動作がうまくいかず困っています。
JP1のjr3bjsubコマンド自体はうまく動作しているのですが、ジョブが登録完了するまで待ってくれません・・・。
どうしたら良いかどなたかご存知であらば教えてください。
・シェルの内容
#!/sbin/sh
typeset -i CNT=1
if [ "$3" = "" ]
then
while [ $CNT -le 5 ]
do
/opt/jp1_am_r3/bin/jr3bjsub -jn $1 -pa $2 -rs -out LP01 -wait -time 900
RTN=$?
if [ $RTN -le 2 ]
then break
fi
CNT=$CNT+1
sleep 1
done
else
while [ $CNT -le 5 ]
do
/opt/jp1_am_r3/bin/jr3bjsub -jn $1 -pa $2 -var $3 -rs -out LP01 -wait -time 900
RTN=$?
if [ $RTN -le 2 ]
then break
fi
CNT=$CNT+1
sleep 1
done
fi
return $RTN
・動かそうとしているVBSの内容
'引数:実行先(-d)
'曖昧な宣言を禁止
Option Explicit
'ERRが発生しても後続処理を続ける
On Error Resume Next
'変数/オブジェクト宣言
Dim objWshShell ' WshShell オブジェクト
Dim strCmdLine ' 実行するコマンド
dim args
dim rtn
'定数宣言/オブジェクト作成
Set args = WScript.Arguments
Set objWshShell = WScript.CreateObject("WScript.Shell")
'------------メイン処理START
If Err.Number = 0 Then
If args.Count < 2 Then
Err.Description = "引数が不足"
WScript.Echo "エラー: " & Err.Description
ElseIf args.Count = 2 Then
strCmdLine = "C:\Program Files (x86)\Hitachi\JP1AMR3\Program\jr3bjsub.exe -rs -out LP01 -wait -time 900 -jn " & args.item(0) & " -pa " & args.item(1)
ElseIf args.Count = 3 Then
strCmdLine = "C:\Program Files (x86)\Hitachi\JP1AMR3\Program\jr3bjsub.exe -rs -out LP01 -wait -time 900 -jn " & args.item(0) & " -pa " & args.item(1) & " -var " & args.item(2)
Else
Err.Description = "引数が多すぎます"
WScript.Echo "エラー: " & Err.Description
End if
objWshShell.Exec(strCmdLine)
If Err.Number = 0 Then
WScript.Echo strCmdLine & " を起動しました。"
End If
End If
'Set objWshShell = Nothing
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
非同期に実行してるからでは?
少なくとも(Shell.Exec)実行後のステータスはみないといけないでしょう(たぶん、それだけでは足りないだろうけど)
ありがとうございます。
VBSを以下のように変更しましたが、コマンドの返り値を取得することが出来ません。
引き続き宜しくお願い致します。
'曖昧な宣言を禁止
Option Explicit
'ERRが発生しても後続処理を続ける
On Error Resume Next
'変数/オブジェクト宣言
Dim objWshShell ' WshShell オブジェクト
Dim strCmdLine ' 実行するコマンド
dim args
dim rtn
'定数宣言/オブジェクト作成
Set args = WScript.Arguments
Set objWshShell = WScript.CreateObject("WScript.Shell")
'------------メイン処理START
'パラメータ数チェック
If Err.Number = 0 Then
'引数が不足
If args.Count < 2 Then
Err.Description = "引数が不足"
WScript.Echo "エラー: " & Err.Description
'バリアントの無いジョブ実行用
ElseIf args.Count = 2 Then
strCmdLine = "C:\Program Files (x86)\Hitachi\JP1AMR3\Program\jr3bjsub.exe -rs -out LP01 -wait -time 900 -jn " & args.item(0) & " -pa " & args.item(1)
'バリアント指定のあるジョブ実行用
ElseIf args.Count = 3 Then
strCmdLine = "C:\Program Files (x86)\Hitachi\JP1AMR3\Program\jr3bjsub.exe -rs -out LP01 -wait -time 900 -jn " & args.item(0) & " -pa " & args.item(1) & " -var " & args.item(2)
'引数が多すぎる
Else
Err.Description = "引数が多すぎます"
WScript.Echo "エラー: " & Err.Description
End if
Set objExecCmd = objWshShell.Exec(strCmdLine)
If objExecCmd.ExitCode = 0 Then
WScript.Echo strCmdLine & " を起動しました。"
Do While objExecCmd.Status = 0
WScript.Sleep(1000)
Loop
ElseIf objExecCmd.ExitCode = 1 Then
WScript.Echo strCmdLine & " の処理が中止されました。"
ElseIf objExecCmd.ExitCode = 2 Then
WScript.Echo strCmdLine & " の終了監視処理がタイムアウトになりました。"
ElseIf objExecCmd.ExitCode >= 3 Then
WScript.Echo "コマンドが異常終了しました。"
End if
End If
Set objExec = Nothing
Set objWshShell = Nothing
'------------メイン処理START
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Win11で画像ファイルが突然開け...
-
「再帰的」の意味がよく分からな...
-
中華ゲーム機のGame Console R3...
-
ある英語発音の本のあるサイト...
-
結構前にパソコン工房で購入し...
-
F5アタックとは
-
アガサハークネスを字幕で見た...
-
blenderで両眼立体計測法を用い...
-
インストールできない
-
英語の音声のサイトからのダウ...
-
iTunesは廃止されるらしいです...
-
Windows標準のフォトには写真は...
-
エクスプローラーで検索すると...
-
UTF-8ってBOMなしとBOM付きどち...
-
zipって何
-
昨日、仕事からの帰宅時に部屋...
-
レポート提出のため、印字され...
-
オービスとNシステムの違い
-
ゴミ箱から間違えて・・・
-
ドラマの火事やその他台風などA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Win11で画像ファイルが突然開け...
-
中華ゲーム機のGame Console R3...
-
パソコンがあできなくてもつけ...
-
ハイフン無しの電話番号でどう...
-
VBScriptについて。
-
フォルダの中にフォルダを作る...
-
使いたいフリーソフトがWindows...
-
全角英数字を日本で販売されて...
-
5万枚の写真(合計2TB)をZIPで一...
-
サイトの画像を頻繁に閲覧した...
-
全角英数字って全角の英字と全...
-
NTFSはバージョンがまたがる場...
-
SSDは読み取りによって劣化しま...
-
PCにあるdzentime ってなんです...
-
昨日、仕事からの帰宅時に部屋...
-
画像も動画も沢山あって合計4TB...
-
キャンセルしたダウンロードフ...
-
LINEのPC版でスピーカー、マイ...
-
英字や数字を常に半角にするに...
-
Windowsにはエクスプローラーが...
おすすめ情報