バッチファイルのスケジューリング [Windows]
久しぶりに Windows XP SP3 上において、システム管理用のスクリプトを作成した。
指定時刻に指定した処理を行い、実行結果をログファイルに出力するようなものである。
(指定したフォルダ以下のバックアップ、ログファイルのローテーション、等)
Linux 上なら、シェルスクリプトを作成し、cron から起動することで簡単に実現できる。
今回は久しぶりということもあり、少々時間を要したため、今後のために手順をまとめてみた。
1. スクリプトの作成
2. スケジューラからのバッチファイルの実行
指定時刻に指定した処理を行い、実行結果をログファイルに出力するようなものである。
(指定したフォルダ以下のバックアップ、ログファイルのローテーション、等)
Linux 上なら、シェルスクリプトを作成し、cron から起動することで簡単に実現できる。
今回は久しぶりということもあり、少々時間を要したため、今後のために手順をまとめてみた。
1. スクリプトの作成
(1) 簡単な処理は、cmd.exe のバッチファイル(*.bat) として作成する。
(2) 上記バッチファイルで対応が困難な場合には、Perl スクリプトを作成する。
・Perl をインストールする。
・Perl スクリプトを作成する。
・上記のPerl スクリプトを実行するバッチファイルを作成する。
(3) 補足
WSH(VBScript)、PowerShell の使用も検討したが、急いでいるため、今回は使用しない。
2. スケジューラからのバッチファイルの実行
(1) バッチファイルへのショートカットを作成する。
(2) 上記のショートカットの設定で、ウィンドウを最小化した状態で実行するようにする。
(3) 上記のショートカットをタスク・スケジューラに登録する。
(a) [コントロール・パネル] -> [タスク] でタスク・スケジューラを起動する。
(b) 上記で作成したショートカットを実行するタスクを作成する。
【タスク・タブでの設定】
・実行するファイル名: 上記のショートカット(*.lnk)を指定する。
・実行するアカウント名: 上記のショートカットを実行するアカウントを設定する。
・ログインの有無に関係なく実行する。
【スケジュール・タブでの設定】
・日単位のタスクとして、1 日に 1 回実行する。
・詳細設定で、繰り返し時間間隔と継続時間(23時間59分)を設定する。
コメント 0