1日の業務の中で決まった時刻に特定のコマンドを実行したい場合には、タスクスケジューラで登録すると便利です。
手順と概略
Windowsではタスクスケジューラとして schtasks.exe が用意されているので、
- 実行したいコマンドをシェルスクリプトとして作成
- 1.のファイルを
schtasks.exe
を実行するschtasks
コマンドにてスケジュール登録
という手順で設定します。
1. シェルスクリプト
まずは実行したいコマンドをシェルファイルとして作成しておきます。
例えば、任意のURLを開くコマンドを実行したいとして下記のように組んで保存します。
# ! /bin/sh
start https://google.com
便宜上、 daily.sh
というファイル名でホームディレクトリ( C:\Users\ユーザ名
)にでも保存しておきます。
2. schtasks
コマンド
次にpowershellかコマンドプロンプトで、上記の daily.sh
を指定してスケジュール登録します。
schtasks /create /tn "MyTask" /tr c:\Users\ユーザ名\daily.sh /sc weekly /d mon,tue,wed,thu,fri /st 18:00
設定の解説
オプション | 説明 | この場合の設定値 |
---|---|---|
/tn |
任意のタスク名 | "MyTask" |
/tr |
実行したいタスクのファイルパス | c:\Users\ユーザ名\daily.sh |
/sc |
スケジュールのタイプ | 週次 |
/d |
実行する日のタイプ | (月)(火)(水)(木)(金) |
/st |
実行する時刻 | 18:00 |
上記を含む schtasks
コマンドのオプションについては Microsoftの公式ドキュメントに詳細が書かれています。
この一連のコマンドは 毎平日に定時になったら実行することを忘れたくないコマンド を登録しておくイメージです。
こういう些細な作業こそ、ガシガシ自動化しちゃいましょう!