Rubyでスクリプトを書きました。毎日決まった時間に実行したい。Windows XP システムでそれを行うにはどうすればよいでしょうか。
マシンを調べてみると、「スケジュールされたタスク」コントロール パネルが見つかりましたが、「ウィザード」が提供するオプションからわかる限り、スクリプトの実行とは何の関係もないようです。
Rubyでスクリプトを書きました。毎日決まった時間に実行したい。Windows XP システムでそれを行うにはどうすればよいでしょうか。
マシンを調べてみると、「スケジュールされたタスク」コントロール パネルが見つかりましたが、「ウィザード」が提供するオプションからわかる限り、スクリプトの実行とは何の関係もないようです。
スケジュールされたタスク。場合によっては、スクリプトを呼び出すバッチ ファイルを作成し、バッチをスケジュールする必要があります。
実行したい「script.vbs」があるとします。このバッチを作成する必要があります。
cscript script.vbs
cscript は、vbs スクリプトを解釈する Windows スクリプト ホストです。Rubyにも似たようなものがあると確信しています。
スケジュールされたタスクでそれを行うことができます。実行したいプログラムまたはスクリプトがリストされていない場合は参照するだけです (この場合、私が推測する Ruby インタープリターであり、実行するスクリプトの名前を引数として追加します)。
Windows タスク スケジューラを使用します。
[コントロール パネル] > [タスクのスケジュール] の下。
コマンドラインから実行可能なアプリケーションまたはファイルを実行するように設定できます。
更新: (2009 年 1 月 15 日) Wouter van Nifterick からの良い点です。次のプロセスが実行される前にプロセスが終了するように注意してください (コメントで)。
これは、詳細オプションに移動して、タスクを実行できる許容時間を調整することで実行できます。タスクがすでに構成されている場合は、タスクを開いて [設定] タブをクリックします。このタブの上部にチェックボックスが表示され、その後に「次の時間実行された場合はタスクを停止します:」が表示され、時間と分を入力する 2 つのテキスト ボックスがあります。スクリプトを 1 日に 1 回実行する場合は、これを 23 時間程度に設定する必要があります。
'at'コマンドは、スケジューラーの優れたコマンドラインバージョンです。