• ベストアンサー

バッチファイルのPAUSE

バッチファイルのPAUSEを使って、 実行するかどうか待機状態のまま 指定時間何もキーを触らなければ 自動的に黒のコマンドプロンプトを 終了させる方法はないですか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

Option Explicit Dim objWshShell Set ObjWshShell = WScript.CreateObject("WScript.Shell") Dim result result = objWshShell.Popup("10秒待ちます",10,"タイトル",vbOKCancel) if result = vbOK Then objWshShell.Run "A.EXE",1 End If ----------------------------------- こんな感じでOKです。 スクリプト側でA.EXEの終了待ちを行いたい場合は、 objWshShell.Run "A.EXE",1,True と、最後にTrueを追加してください。

sekachu
質問者

お礼

お世話になりました うまくいきました ありがとうございます

その他の回答 (3)

回答No.3

#2です。 先ほどのスクリプトは、xxxx.vbsのように、拡張子を.vbsで保存してください。 xxxx.vbsをダブルクリックするか、コマンドラインから wscript xxxx.vbs のように実行します。 'WSH'で検索すると多少か情報が見つかるかと思いますが、プログラミング経験が無いと確かに少し辛いかもしれません(^^;

参考URL:
http://www.microsoft.com/japan/technet/scriptcenter/default.mspx
sekachu
質問者

補足

無知ですみません OKの時、A.EXEを実行するとしたら、 下記のようになりますが、実行時のエラー になります どのように記述すればいいのでしょう 何もしないと時間切れでうまく終了します Option Explicit Dim objWshShell Set ObjWshShell = WScript.CreateObject("WScript.Shell") Dim result result = objWshShell.Popup("10秒待ちます",10,"タイトル",vbOKCancel) if result = vbOK Then A.EXE End If

回答No.2

VBScriptじゃダメですか? ただしメッセージボックスが出てしまいますが、これだとWindows標準(Win98以降?)の機能だけで済みます。 -------------------------------- Option Explicit Dim objWshShell Set ObjWshShell = WScript.CreateObject("WScript.Shell") Dim result result = objWshShell.Popup("10秒待ちます",10,"タイトル",vbOKCancel) if result = vbOK Then WScript.Echo "OK" Else WScript.Echo "キャンセル" End If --------------------------------

sekachu
質問者

補足

お世話になります なんかむずかしそうですね! BATファイルにそれをのせて実行すると一瞬で 終わりましたが、XPですが 何かインストールはしなくていいのでしょうか すみません 素人で。。。。

  • OsieteG00
  • ベストアンサー率35% (777/2173)
回答No.1

choiseコマンド(または同等品)を用いてキー入力が無いときの初期値を決めておいてその場合は終了させてみては?

参考URL:
http://www.vector.co.jp/soft/win95/util/se349380.html