• ベストアンサー

システム終了時にバッチファイルやプログラムを実行するには

WindowsXPでは、タスク機能を使って特定の時刻や、ログオン時にプログラムを実行できますが、「システム終了時」は選択肢としてありません。 質問なのですが、スタートメニューから終了を選んだときに、終了する前にプログラムやバッチファイルを実行できるように出来ますでしょうか。 現在は、バッチファイルを作り、プログラムを実行した後にshutdownコマンドで終了させていますが、できればWindowsの通常の終了操作を実行する際にプログラムを実行できれば、と考えています。 どうぞよろしくお願いします。

noname#105136
noname#105136

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

  • ベストアンサー
  • sineminna
  • ベストアンサー率31% (118/370)
回答No.4

参考URLがありましたわ http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html この例ではコンピュータの構成でシャットダウンスクリプトを使用していますが同じ要領です。

noname#105136
質問者

お礼

私の望んだとおりの回答です、ありがとうございました。

その他の回答 (3)

  • sineminna
  • ベストアンサー率31% (118/370)
回答No.3

それなら簡単ですよ。 ファイル名を指定して実行で gpedit.msc グループポリシーを開きます。 ユーザーの構成→Windowsの設定ペインを開きスクリプトを展開しログオフのプロパティを開き、「追加」で対象のバッチファイルやプログラムのパスを指定するだけです。 これでログオフ、すなわちシャットダウンする前にプログラムが走ります。 私は毎回重要ファイルを別ドライブにコピーするバッチファイルを走らせていますよ。 ちなみにHomeEditionでやるには上記で作成してできたレジストリをインポートする必要があります。

  • sineminna
  • ベストアンサー率31% (118/370)
回答No.2

XPはProfessional? HomeEdition?

noname#105136
質問者

補足

Professionalです。よろしくお願いします。

  • gamebakari
  • ベストアンサー率60% (699/1147)
回答No.1

シャットダウンの基本動作はメモリからプログラムデータを開放することにありますので、動作が矛盾してしまうと思います。 現状(どんなプログラムかはさておいて)バッチファイルを組んでいるなら、 最終のプログラム実行後にC:\WINDOWS\system32¥shutdown.exeを書き入れ、バッチを実行すれば自動で終了すると思いますが? >スタートメニューから終了を選んだとき と言う動作はシステム側からの呼び出しではなくユーザーの意思なので、 バッチで組んだプログラムの終了確認さえ自動で出来れば、 そのバッチファイル内でshutdown.exeを実行できると思いますが。

noname#105136
質問者

補足

回答ありがとうございます。 >現状(どんなプログラムかはさておいて)バッチファイルを組んでいるなら、 >最終のプログラム実行後にC:\WINDOWS\system32¥shutdown.exeを書き入れ、バッチを実行すれば自動で終了すると思いますが? はい、実際そのようにしているのですが、そうするとWindowsを終了するのに ・スタートメニューからの終了 ・バッチファイルからの終了 の2通りの方法が存在し、スタートメニューからの終了を選んでしまうとプログラム(バックアップ用プログラムです)を実行せずに終了してしまうので、何とかならないかと考えているところです。

関連するQ&A

  • プログラムを終了させるバッチファイル?

    ベクターなどでダウンロードしたプログラムを終了させるバッチファイルとか作れるものですか。 ダウンロードしたプログラムは、単にEXEファイルをクリックして実行しているだけです。 例 owari.bat をクリックするとすでに実行しているプログラムを終了させる。

  • VC6.0でクリック時にバッチファイルを実行し、終了したか知りたい

    VC6.0でクリック時にバッチファイルを実行し、終了したか知りたい 開発環境:VC6.0 OS:windowsXP HOME ダイアログのonclick時に バッチファイルを実行したいと思います さらに終了後に次の処理を行うような手順を検討しています バッチファイルを実行させる方法は WinExec(_T("abc.bat"),SW_SHOWNORMAL); のような方法で可能でしたが、 終了する前に次の処理に行ってしまいます。 終了を知る方法はありますでしょうか? よろしくお願いします

  • バッチファイルでプログラムを強制終了って・・・

    実行中のプログラムを強制終了させてしまうバッチファイルって 果たして作ることが可能なものでしょうか? アドバイスよろしくお願い致します。 対象環境はNT4サーバです。 やりたいことのイメージとしては、例えば、メモ帳でテキストを書き、そして 未保存状態で動かしっぱなしのところを、バッチで強制終了させてしまう、 そんな感じです。当然未保存云々と聞かれますけれども保存せずに強制終了!です。 (もしくは、タスクマネージャを起動し、そのアプリケーションタスクを 終了させる、と表現したほうが良いのでしょうか) ・・・果たしてそんなことってできるのでしょうか? とくにネットワークの処理は考え無く、単にそのNTマシン自身の話なのです。 よろしくお願いします。

  • バッチファイル終了時にウィンドウを閉じる

    超初心者です。 バッチファイルを終了時にDOSのウィンドウを閉じるという方法は このページを見てできたのですが、 そのバッチファイルを社内のイントラネットのページに掲載し、 そのリンクをクリックし、「この場所からプログラムを上記のプログラムを実行する」にするとプログラム終了後もDOSのウィンドウが残ったままになってしまいます。 ページから実行せずにバッチファイルを直接実行するとウィンドウは プログラム終了後閉じます。 IEのバージョンが5.0以下だとどうもそうなるような感じです。 どうすれば、ページのリンクから実行しても確実にDOSのウィンドウを終了することができるでしょうか? どなかたご存知の方いらっしゃいましたら教えてください。

  • バッチファイル実行時のプロンプトを非表示にしたい

    WindowsXPでバッチファイルからバッチを実行するとコマンドプロンプトが一瞬表示されバッチが終了すると自動で閉じますが、このプロンプトを表示しないようには出来ないでしょうか? バッチの結果を知らせる必要が無い処理なのであの一瞬出てくるプロンプトが邪魔で…。

  • バッチファイルでMDBを終了したい。

    いつもお世話になっています。 今回はあるmdbファイルをバッチファイルを使って終了させたいのです。 例えば、Dドライブ直下に123.MDBというファイルがあります。これを19:00に終了させたいのですがどうしたらいいのでしょうか?バッチファイルを作成できればタスクマネージャーを19:00に実行して終了させようかと思っています。MDBのタイマーイベントは別で使用している為、使えません。コマンドプロンプト等でなんとか・・・ ご理解いただけましたでしょうか? よろしくお願いします。

  • バッチファイルで常に最新の現在時刻を表示したい

    バッチファイルで最新の現在時刻を表示したいのですが、うまく行きません。 そのバッチファイル自体を実行した時刻ではなく、そのバッチファイル内のコマンド等を実行した時刻を表示させたいのです。つまりどんどん時間を最新に近いものに更新させていって欲しいのです。 タスクスケジューラのようなものをバッチファイルで作りたくて、現在時刻が○○時であればこのコマンドを実行する、といったことがしたい訳です。 バッチファイルは実行してすぐ終了するのではなく、そのまま常駐するような形を想定しています。 なにか良い方法はないでしょうか。 ■ 5秒おきに現在時刻を表示するバッチファイルの例 (同じ時刻になってしまう) @echo off :start set time=%time: =0% echo . echo . echo .「現在時刻は%time:~-11,2%時%time:~-8,2%分%time:~-5,2%秒です。」 echo . echo . ping localhost -n 5 goto start

  • imacroで組んだマクロをバッチファイルで自動実行させたい。

    imacroで組んだマクロをバッチファイルで自動実行させたい。 Firefoxアドオンの「imacro」でマクロファイルを作成したので、それをバッチファイルで起動できるようにし、コンピュータ起動時に自動的に実行されるようにタスクスケジューリングしたいと思っています。 バッチファイルには以下のコマンド書けば可能かと思ったんですが、実行されません。 start "C:\Program Files\Mozilla Firefox\firefox.exe" http://run.imacros.net/?m=マクロファイル名.iim 良い方法を知っておられる方がおられましたらご教授願います。

  • バッチファイルで実行ファイル同時実行

    こんにちは、 ある複数の実行ファイルを同時に起動させたく思い、 バッチファイルに実行ファイルを羅列したのですが、 調べたところNT系だと終了を待つ様です。 終了を待たずに次のコマンドに進み、実行後コマンドプロンプトを 閉じるまでを行う事は不可能なのでしょうか? よろしくお願いいたします。

  • シャットダウン時のバッチ実行について

    Windowsシャットダウン時にバッチファイルを実行したいのですが、うまく行きません。 ネットで検索すると、グループポリシーの設定で行うやり方がすぐに出てきましたが、なぜか実行されている気配が無いです。 バッチファイルで実行したいことは、サーバー対するコマンドをひとつ実行して、その結果によって、VBScriptでメッセージボックスを出すか、そのままバッチファイルを終了するとしたいです。 気にしているのは、 ・グループポリシーで設定したバッチはどのタイミングで実行されるのでしょう? シャットダウン操作を行うと、通常は各アプリを終了させてからWindowsが落ちていくと思うのですが、全部落ち終わってから実行されるのでしょうか?ネットワークが使用できない状態になってからではやりたいことが出来ませんので・・・ ・バッチファイルを実行すると普通はコマンドプロンプトが見えますが、グループポリシーの設定から実行された場合も見えるのでしょうか? ・グループポリシーからバッチファイルを実行した場合、バッチが完全終了するまでシャットダウンは止まりますか? このあたりが気になっています。どうぞよろしくお願いします。