はじめに
WindowsのRubyで作ったプログラムを、タスクスケジューラで定期的に実行させる方法です。実行間隔を5秒位に指定すると、実行コマンドを打たなくても、自動的にデバックができるので、コーディングが楽になります。
バッチファイルの解説
test.bat
@echo off
rem タスクスケジューラに登録して、5秒毎に「test.rb」を実行する
cd C:\Ruby24-x64\bin
set /a COUNT=0
:loop
powershell sleep 5
set /a COUNT=COUNT+1
echo (%COUNT%)
ruby D:\C\test.rb
goto :loop
@echo off
コマンドが表示されると見難いため、非表示にします
cd C:\Ruby24-x64\bin
Rubyが入っているパスに移動します
set /a COUNT=0
カウンターを初期化します
powershell sleep 5
5秒単位でループさせます
set /a COUNT=COUNT+1
ループごとにカウントアップさせます
echo (%COUNT%)
ループ件数を画面表示します
ruby D:\C\test.rb
実行したいRubyのプログラムを指定します
goto :loop
:loopまで飛ばします(処理をループさせます)
実行結果
test.rbで、puts "テスト" しているので、繰り返し表示してくれます。
一時停止する時は、Ctrl+C
再開する時は、N
タスクスケジューラの登録
タスクスケジューラで、バッチのパスを指定します。実行する時は、登録したタスクを選択して、右クリックで実行するだけ。因みに、タスクスケジューラはコントロールパネルの中にあります。