- ベストアンサー
システム終了時にバッチファイルやプログラムを実行するには
WindowsXPでは、タスク機能を使って特定の時刻や、ログオン時にプログラムを実行できますが、「システム終了時」は選択肢としてありません。 質問なのですが、スタートメニューから終了を選んだときに、終了する前にプログラムやバッチファイルを実行できるように出来ますでしょうか。 現在は、バッチファイルを作り、プログラムを実行した後にshutdownコマンドで終了させていますが、できればWindowsの通常の終了操作を実行する際にプログラムを実行できれば、と考えています。 どうぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
参考URLがありましたわ http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html この例ではコンピュータの構成でシャットダウンスクリプトを使用していますが同じ要領です。
その他の回答 (3)
- sineminna
- ベストアンサー率31% (118/370)
それなら簡単ですよ。 ファイル名を指定して実行で gpedit.msc グループポリシーを開きます。 ユーザーの構成→Windowsの設定ペインを開きスクリプトを展開しログオフのプロパティを開き、「追加」で対象のバッチファイルやプログラムのパスを指定するだけです。 これでログオフ、すなわちシャットダウンする前にプログラムが走ります。 私は毎回重要ファイルを別ドライブにコピーするバッチファイルを走らせていますよ。 ちなみにHomeEditionでやるには上記で作成してできたレジストリをインポートする必要があります。
- sineminna
- ベストアンサー率31% (118/370)
XPはProfessional? HomeEdition?
補足
Professionalです。よろしくお願いします。
- gamebakari
- ベストアンサー率60% (699/1147)
シャットダウンの基本動作はメモリからプログラムデータを開放することにありますので、動作が矛盾してしまうと思います。 現状(どんなプログラムかはさておいて)バッチファイルを組んでいるなら、 最終のプログラム実行後にC:\WINDOWS\system32¥shutdown.exeを書き入れ、バッチを実行すれば自動で終了すると思いますが? >スタートメニューから終了を選んだとき と言う動作はシステム側からの呼び出しではなくユーザーの意思なので、 バッチで組んだプログラムの終了確認さえ自動で出来れば、 そのバッチファイル内でshutdown.exeを実行できると思いますが。
補足
回答ありがとうございます。 >現状(どんなプログラムかはさておいて)バッチファイルを組んでいるなら、 >最終のプログラム実行後にC:\WINDOWS\system32¥shutdown.exeを書き入れ、バッチを実行すれば自動で終了すると思いますが? はい、実際そのようにしているのですが、そうするとWindowsを終了するのに ・スタートメニューからの終了 ・バッチファイルからの終了 の2通りの方法が存在し、スタートメニューからの終了を選んでしまうとプログラム(バックアップ用プログラムです)を実行せずに終了してしまうので、何とかならないかと考えているところです。
お礼
私の望んだとおりの回答です、ありがとうございました。