• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:バッチレベルでプログラム起動制御する方法につい)

バッチレベルでプログラム起動制御する方法について

このQ&Aのポイント
  • Windowsにて、OS起動時にスタートアップにバッチファイルを登録し、アプリケーション起動の確認を行い、指定の条件に基づいてアプリケーションを起動する方法について説明します。
  • バッチファイルの記述方法がわからない場合でも、以下の手順に従って実行することで簡単に実現することができます。
  • キー入力によるアプリケーション起動の確認と、一定時間経過後の自動起動についても詳しく説明します。

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

  • ベストアンサー
  • geshon
  • ベストアンサー率61% (44/72)
回答No.1

お望みの機能は cmd.exeのバッチ機能だけでは実現しません。 方法は2つあると思います。 1. バッチファイルを拡張するプログラムを導入する。 http://www.vector.co.jp/soft/win95/util/se349380.html などはお望みの動作の手助けをすると思います。 vector.co.jp などにあるバッチの拡張するツールを検索すると よいかもしれません。 2.バッチにこだわらず他のプログラムを使用する。 wshなどはデフォルトでほとんどのWindowsで使用できます。 http://www.atmarkit.co.jp/fwin2k/tutor/cformwsh01/cformwsh01_01.html http://www.atmarkit.co.jp/fwin2k/operation/wsh07/wsh07_03.html コマンドプロンプトにこだわらなければより柔軟な対話的スクリプトが 書けます。 以下は hoge.vbs などとして実行してみてください。 少し変更すれば、望みの機能が実現できるかと思います。 Set objShell = WScript.CreateObject("WScript.Shell") Directory = "C:\" '実行ファイルを起動するディレクトリ RunCommand = "C:\windows\system32\cmd.exe /k echo aaa" '実行ファイル名 WaitTime1 = 20 'はじめのダイアログの待ち時間 WaitTime2 = 20 '次のダイアログの待ち時間 Ret = objShell.Popup( _ RunCommand & " の実行を" & vbcrlf & _ "中止する場合は「キャンセル」を押してください。", _ WaitTime1, "処理を実行しますか?", vbOKCancel+vbQuestion) Select Case Ret Case vbOK, -1 objShell.CurrentDirectory = Directory objShell.Run RunCommand Select Case Ret Case vbOK objShell.Popup "実行しました。", WaitTime2, vbInformation Case -1 objShell.Popup "自動的に実行しました。", WaitTime2, vbInformation End Select Case vbCancel objShell.Popup "キャンセルしました。", WaitTime2, vbInformation End Select

kakichan0716
質問者

お礼

大変お世話になりました。 サンプルで頂きましたVBScriptのソースをベースに作成し、思った以上のものが出来ました。大変ありがとうございます。 UNIXのshellでやっていたような事がWindowsのコマンドプロンプトで動作するBATでできればと思っていましたが、拡張しないと出来ないことを始めて知りました。 頂いた2つの方法共に非常に的確に内容が把握できるものを教えていただき、参考のホームページのリンクもすごく参考になり勉強になりました。 こちらで紹介頂いたwshのホームページを参考に勉強していきたいと思います。 すばらしいご回答をありがとうございました。

関連するQ&A