質問
2015年7月9日木曜日 4:28
WSH上でVBScriptを実行したところ以下のエラーが出ました。
”XXX.vbs(行番号,1) WshSell.Run: 処理を待つことができません。”
vbsファイル内の該当行は下記スクリプトとなっています。
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
objShell.Run "cmd /c コマンド名 """ & param1 & """ > " & temp,0,1
※objSellは、WScript.CreateObject("WScript.Shell")で生成した、WScript.Shellのオブジェクトです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
★調査状況
・コマンド名、パスは間違っていないか?
・引数(param1)の値は間違っていないか?
・リダイレクト(>)により生成するファイル(temp)の名前に、パス名や、指定パスの書込み件が無い等の不備はないか?
などを調べたのですが、特に問題はありませんでした。
なお、再現OSはWindows7 Professional で WSHのバージョンは5.8です。
★質問内容
・上記「調査内容」以外で考えられる本メッセージの原因
・本メッセージを出さなくする回避策
等、心当たりのある方がいらっしゃいましたら、ご教授いただけますと幸いです。
以上、よろしくお願いいたします。
すべての返信 (2)
2015年7月13日月曜日 7:55 ✅回答済み
とりあえず、引数ではなく、直接パスとコマンドを指定して実行してみたらうまくいくでしょうか?
それで問題ないなら、カレントフォルダの問題か、そのあたりでは
2015年7月14日火曜日 0:30
回答どうもありがとうございます。
また返事が遅くなりもうしわけありません。
直接パスとコマンド指定ではうまくいきました。
本VBSは他のプログラムから起動されるものでしたので、おっしゃるとおりカレントフォルダ呼び出し側プログラムのカレントフォルダ等の問題もあるのかもしれません。
そのあたりを当たってみます。
どうもありがとうございました。