#概要
本内容は、タスクスケジューラを利用したbatファイルを定期実行させる方法の紹介となります。
バックグラウンドで実行を行うため、vbsからbatファイル呼び出す内容となります。
(LinuxのCrontabに設定する様なイメージとなります。)
#事前設定
あらかじめ実行するbatファイルの準備をお願いします。
#設定内容
今回の設定方法については、下記2つの設定を行う必要があります。
①batファイル起動用vbsファイル作成
②タスクスケジューラに①で作成したvbsファイルの設定実施
上記が本記事の内容となります。
詳細情報は、下記の通りです。
#batファイル起動用vbsファイル作成
'バックグラウンド稼働用
Set csc = CreateObject("Wscript.Shell")
csc.run "cmd /c 【バッチファイル名】",0,True
上記内容ですが、至ってシンプルな内容です。
cmdコマンドを利用して、ウィンドウを表示させずbatファイルを呼び出す内容となります。
※batファイルのディレクトリがvbsと異なる場合は、絶対パスで記載する必要があります。
#タスクスケジューラ設定方法
それでは、タスクスケジューラの設定方法を記載します。
初めに、タスクスケジューラを起動してください。
※ファイル名を指定して実行より【control schedtasks】で表示できます。
タスクスケジューラ右枠より、【タスクの作成】を選択してください。
##タスクの作成(全般)
タスク名及び実行ユーザを設定してください。
※【ユーザがログオンしているかどうかかかわらず実行する】としておくとログオフしても実行されますので便利です。
##タスクの作成(トリガー)
スケジュール開始時間及び繰り返し間隔を設定してください。
※crontabの様に無期限に繰り返す場合は、継続時間を[無期限]にする事で可能です。
設定完了後、OKを押してください。
##タスクの作成(操作)
先程作成したvbsファイルの絶対パスを入力してください。※2
※2 絶対パスは参照から選んでもOKです。
入力完了後、【引数の追加】・【関数(オプション)】を入力してください。
入力例は、キャプチャでは隠れているため下記に記載しています。
引数の追加・・・[cscipt.exe]を入力してください
(本例:cscript.exe)
関数(オプション)・・・vbsファイルが保存されているディレクトリを記載してください。※1
(本例:C:\Users\Administrator\Desktop)
※1 最後の【/】は不要です。本例参照
設定完了後は、OKを選択しタスクが登録されているか確認しましょう。
正常に登録されていれば、あとは実行されるのを待ちます。
※右枠より【実行】を選択してもOKです。
##本例のテスト結果について
本例のテストで利用しているbatファイルは、別記事で記載しているCloudWatch出力スクリプトとなります。
設定情報は、下記の通りです。
★本例設定内容
繰り返し間隔:1分 期限:無期限
ゴール: 1分毎にCloudWatchに出力されていればOKとなります。
それでは、10~15分程待ってみましょう。
#結果
この通り、1分毎にスクリプトが実行されているのでCloudWatchへ値が出力されています。
#今後の改善点
本内容にログ出力等も加えれば、実行結果がわかりやすくなると考えています。
実際に私も挑戦しましたが、vbsの実行結果コードしか出力できなかった為
本記事からは割愛しました。
#参考URL
・vbsコメントアウト方法
http://vbscript.pgtop.net/article/318269716.html
・タスクスケジューラvbs起動方法
https://support.microsoft.com/ja-jp/help/3046977
※Microsoft側では関数をフルパスで指定すると記載されていましたが
私はフルパスでは記載しませんでした。(トライ&エラーおすすめします。)