[コマンドプロンプト] schtasksコマンドの使い方 – タスクスケジュールの作成・表示・変更
schtasks
コマンドは、Windowsのタスクスケジューラを操作するためのコマンドラインツールです。
これを使うことで、タスクの作成、表示、変更、削除などが可能です。
タスクの作成には/create
オプションを使用し、例えば毎日実行するタスクを作成するには/sc daily
オプションを指定します。
タスクの一覧表示には/query
、タスクの変更には/change
を使用します。
タスクの削除には/delete
を使います。
- schtasksコマンドの基本的な使い方
- タスクの作成方法とオプション
- タスクの表示や変更の手順
- タスクの削除方法と注意点
- 応用例を通じた実践的な活用法
schtasksコマンドとは
schtasks
コマンドは、Windowsのコマンドプロンプトで使用されるタスクスケジューラの管理ツールです。
このコマンドを利用することで、ユーザーは自動的に実行されるタスクを作成、表示、変更、削除することができます。
タスクスケジューラは、特定の時間や条件に基づいてプログラムやスクリプトを実行するための便利な機能であり、定期的なバックアップやメンテナンス作業を自動化するのに役立ちます。
schtasks
コマンドは、GUI(グラフィカルユーザーインターフェース)を使用せずにタスクを管理できるため、スクリプトやバッチファイルを通じて自動化を行う際に特に有用です。
コマンドの構文はシンプルで、さまざまなオプションを指定することで、柔軟なタスク管理が可能です。
これにより、ユーザーは自分のニーズに合わせたタスクを簡単に設定できます。
schtasksコマンドでタスクを作成する
タスク作成の基本構文
schtasks
コマンドを使用してタスクを作成する基本的な構文は以下の通りです。
schtasks /create /tn "タスク名" /tr "実行するプログラムのパス" /sc スケジュールタイプ /st 開始時間
/tn
: タスクの名前を指定します。/tr
: 実行するプログラムやスクリプトのパスを指定します。/sc
: スケジュールの種類を指定します(例:daily, weekly, onlogonなど)。/st
: タスクの開始時間を指定します。
毎日実行するタスクの作成
毎日特定のプログラムを実行するタスクを作成するには、以下のコマンドを使用します。
schtasks /create /tn "DailyTask" /tr "C:\Path\To\YourProgram.exe" /sc daily /st 09:00
このコマンドは、毎日午前9時に指定したプログラムを実行します。
特定の曜日に実行するタスクの作成
特定の曜日にタスクを実行するには、/sc weekly
オプションを使用します。
以下は、毎週月曜日の午前10時にプログラムを実行する例です。
schtasks /create /tn "WeeklyTask" /tr "C:\Path\To\YourProgram.exe" /sc weekly /d MON /st 10:00
特定の時間に実行するタスクの作成
特定の時間にタスクを実行する場合も、基本構文を使用します。
以下は、毎日午後3時にプログラムを実行する例です。
schtasks /create /tn "AfternoonTask" /tr "C:\Path\To\YourProgram.exe" /sc daily /st 15:00
ログオン時に実行するタスクの作成
ユーザーがログオンした際にタスクを実行するには、/sc onlogon
オプションを使用します。
以下は、ログオン時にプログラムを実行する例です。
schtasks /create /tn "LogonTask" /tr "C:\Path\To\YourProgram.exe" /sc onlogon
タスク作成時のオプション一覧
タスク作成時に使用できる主なオプションは以下の通りです。
オプション | 説明 |
---|---|
/tn | タスク名を指定 |
/tr | 実行するプログラムのパスを指定 |
/sc | スケジュールの種類を指定 |
/st | タスクの開始時間を指定 |
/d | 実行する曜日を指定(weeklyの場合) |
/ru | タスクを実行するユーザーを指定 |
/rl | タスクの実行レベルを指定(最高、通常) |
これらのオプションを組み合わせることで、柔軟なタスクの設定が可能です。
schtasksコマンドでタスクを表示する
タスクの一覧を表示する方法
schtasks
コマンドを使用して、システムに登録されているすべてのタスクの一覧を表示するには、以下のコマンドを実行します。
schtasks /query
このコマンドを実行すると、タスク名、状態、次回の実行時間などの情報が表示されます。
タスクの一覧を見やすくするために、/fo
オプションを使用してフォーマットを指定することもできます。
例えば、表形式で表示するには以下のようにします。
schtasks /query /fo table
特定のタスクの詳細を表示する方法
特定のタスクの詳細情報を表示するには、/query
オプションに/tn
オプションを追加して、タスク名を指定します。
以下は、”DailyTask”というタスクの詳細を表示する例です。
schtasks /query /tn "DailyTask" /v
このコマンドを実行すると、タスクの詳細情報(実行するプログラムのパス、スケジュール、状態など)が表示されます。
/v
オプションを使用することで、詳細な情報が得られます。
タスクの実行履歴を確認する方法
タスクの実行履歴を確認するには、/query
オプションに/fo
オプションを組み合わせて使用します。
以下のコマンドは、特定のタスクの実行履歴を表示する方法です。
schtasks /query /tn "DailyTask" /fo table /v
このコマンドを実行すると、”DailyTask”の実行履歴が表形式で表示され、各実行の結果やエラー情報を確認することができます。
タスクの実行履歴を確認することで、タスクが正しく実行されているかどうかを把握することができます。
schtasksコマンドでタスクを変更する
タスク変更の基本構文
schtasks
コマンドを使用して既存のタスクを変更する基本的な構文は以下の通りです。
schtasks /change /tn "タスク名" [オプション]
/change
: タスクの変更を指定します。/tn
: 変更するタスクの名前を指定します。[オプション]
: 変更したい内容に応じたオプションを指定します。
実行時間を変更する方法
タスクの実行時間を変更するには、/st
オプションを使用します。
以下は、”DailyTask”の実行時間を午前10時に変更する例です。
schtasks /change /tn "DailyTask" /st 10:00
このコマンドを実行すると、指定したタスクの実行時間が更新されます。
実行頻度を変更する方法
タスクの実行頻度を変更するには、/sc
オプションを使用します。
以下は、”WeeklyTask”の実行頻度を毎日実行するように変更する例です。
schtasks /change /tn "WeeklyTask" /sc daily
このコマンドを実行すると、指定したタスクの実行頻度が毎日になります。
実行ユーザーを変更する方法
タスクを実行するユーザーを変更するには、/ru
オプションを使用します。
以下は、”LogonTask”の実行ユーザーを”NewUser”に変更する例です。
schtasks /change /tn "LogonTask" /ru "NewUser"
このコマンドを実行すると、指定したタスクの実行ユーザーが変更されます。
タスクの有効/無効を切り替える方法
タスクを有効または無効にするには、/enable
または/disable
オプションを使用します。
以下は、”DailyTask”を無効にする例です。
schtasks /change /tn "DailyTask" /disable
逆に、タスクを有効にする場合は以下のようにします。
schtasks /change /tn "DailyTask" /enable
これにより、指定したタスクの有効/無効を簡単に切り替えることができます。
schtasksコマンドでタスクを削除する
タスク削除の基本構文
schtasks
コマンドを使用してタスクを削除する基本的な構文は以下の通りです。
schtasks /delete /tn "タスク名"
/delete
: タスクを削除することを指定します。/tn
: 削除するタスクの名前を指定します。
特定のタスクを削除する方法
特定のタスクを削除するには、上記の基本構文を使用します。
以下は、”DailyTask”というタスクを削除する例です。
schtasks /delete /tn "DailyTask"
このコマンドを実行すると、指定したタスクが削除されます。
削除の確認を求められる場合がありますが、/f
オプションを追加することで確認なしで削除することも可能です。
schtasks /delete /tn "DailyTask" /f
複数のタスクを一括削除する方法
複数のタスクを一括で削除する場合、schtasks
コマンドには直接的な方法はありませんが、バッチファイルを使用して複数の削除コマンドを実行することができます。
以下は、”Task1″と”Task2″を一括で削除するバッチファイルの例です。
@echo off
schtasks /delete /tn "Task1" /f
schtasks /delete /tn "Task2" /f
このバッチファイルを実行すると、指定した2つのタスクが確認なしで削除されます。
タスク名を変更することで、他のタスクも同様に削除できます。
schtasksコマンドの応用例
バッチファイルを定期実行するタスクの作成
バッチファイルを定期的に実行するタスクを作成するには、以下のコマンドを使用します。
ここでは、C:\Path\To\YourBatchFile.bat
というバッチファイルを毎日午前8時に実行する例です。
schtasks /create /tn "DailyBatchTask" /tr "C:\Path\To\YourBatchFile.bat" /sc daily /st 08:00
このコマンドを実行すると、指定したバッチファイルが毎日指定した時間に自動的に実行されます。
システム起動時に自動でプログラムを実行するタスクの作成
システム起動時に特定のプログラムを自動で実行するタスクを作成するには、/sc onstart
オプションを使用します。
以下は、C:\Path\To\YourProgram.exe
をシステム起動時に実行する例です。
schtasks /create /tn "StartupProgram" /tr "C:\Path\To\YourProgram.exe" /sc onstart
このコマンドを実行すると、システムが起動するたびに指定したプログラムが自動的に実行されます。
定期的にログをバックアップするタスクの作成
定期的にログファイルをバックアップするタスクを作成するには、以下のコマンドを使用します。
ここでは、毎週金曜日の午後6時にC:\Logs\log.txt
をC:\Backup\log_backup.txt
にコピーする例です。
schtasks /create /tn "WeeklyLogBackup" /tr "cmd /c copy C:\Logs\log.txt C:\Backup\log_backup.txt" /sc weekly /d FRI /st 18:00
このコマンドを実行すると、毎週金曜日の指定した時間にログファイルがバックアップされます。
特定のイベント発生時にタスクを実行する方法
特定のイベントが発生した際にタスクを実行するには、/sc onevent
オプションを使用します。
以下は、特定のイベントID(例:1000)のイベントが発生したときにC:\Path\To\YourProgram.exe
を実行する例です。
schtasks /create /tn "EventTriggeredTask" /tr "C:\Path\To\YourProgram.exe" /sc onevent /ec "Application" /id 1000
このコマンドを実行すると、指定したイベントが発生するたびにプログラムが自動的に実行されます。
イベントログを監視することで、特定の条件に基づいてタスクを実行することが可能です。
よくある質問
まとめ
この記事では、Windowsのコマンドプロンプトにおけるschtasks
コマンドの基本的な使い方から、タスクの作成、表示、変更、削除、さらには応用例まで幅広く解説しました。
タスクスケジューラを活用することで、定期的な作業を自動化し、効率的に管理することが可能です。
これを機に、実際にschtasks
コマンドを使って自分のニーズに合ったタスクを設定し、日常業務の効率化を図ってみてはいかがでしょうか。