Windows(スケジュール実行コマンド)


アニメ『SHIROBAKO』(2016.10.9 – 2015.3.26)

仕事アニメですね。なんだかこのドタバタ感はプログラマーも一緒だな、と思います。
このアニメの中で働く人たちは皆楽しそうです。やりがいがあるんでしょう。まあ、そのように作ってるのかもしれませんが。
苦しくてもやりがいがある仕事が理想です。自分を高めて、苦しいだけの仕事から早く脱却せねばと、このアニメを見ると前向きになれます。

さて、スケジュールは大事です。今回は、Windowsでコマンドのスケジュール実行をしてくれるschtasksを使います。

このように使います。

C:\Users\takk>schtasks /create /tn ttt /sc once /st 21:32 /tr notepad
成功: スケジュール タスク "ttt" は正しく作成されました。

C:\Users\takk>

上記の例の各オプションの意味は、
/create が、スケジュールの作成
/tn が、タスクネーム。適当にtttとしていますが、”スケジュール1″等、日本語も使えます。
/sc は、タスクをどのように実行するか。例では、一回だけ実行の意味で、onceを指定しています。
/st は、コマンドの実行時間です。
/tr は、実行するコマンドです。notepadを指定してますので、21時32分になると、メモ帳が起動します。

notepadの代わりに、echo HELLOなんて書いても、実行されるのは別プロセスですので、当然動きません。

コマンドプロンプトのコンソールと同期をとりたければ、waitforコマンドが使えますので、
受信側で、waitfor /t 待ち時間 シグナル文字列
送信側で、waitfor /si シグナル文字列
を実行すれば良いです。

では、このwaitforを使って、指定時間に、時刻を表示してみます。

C:\Users\takk>time /t
22:16

C:\Users\takk>schtasks /create /tn ttt /sc once /st 22:20 /tr "waitfor /si HELLO
"
成功: スケジュール タスク "ttt" は正しく作成されました。

C:\Users\takk>waitfor /t 1000 HELLO & time /t

成功: シグナルを受信しました。
22:20

C:\Users\takk>

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA