[コマンドプロンプト] 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.txtC:\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

このコマンドを実行すると、指定したイベントが発生するたびにプログラムが自動的に実行されます。

イベントログを監視することで、特定の条件に基づいてタスクを実行することが可能です。

よくある質問

schtasksコマンドで作成したタスクが実行されないのはなぜ?

タスクが実行されない理由はいくつか考えられます。

主な原因は以下の通りです。

  • スケジュール設定の誤り: タスクの実行時間や頻度が正しく設定されていない場合、実行されません。
  • 実行ユーザーの権限: タスクを実行するユーザーが必要な権限を持っていない場合、タスクは実行されません。
  • プログラムのパスが無効: 指定したプログラムのパスが間違っている、またはプログラムが存在しない場合、タスクは実行されません。
  • システムの状態: コンピュータがスリープ状態やシャットダウン中の場合、タスクは実行されません。

これらの点を確認し、必要に応じて設定を見直すことが重要です。

タスクの実行結果を確認する方法は?

タスクの実行結果を確認するには、以下の方法があります。

  1. タスクスケジューラを使用: Windowsのタスクスケジューラを開き、該当のタスクを選択して「履歴」タブを確認します。

ここに実行結果やエラー情報が表示されます。

  1. コマンドプロンプトを使用: schtasks /query /tn "タスク名" /fo table /vコマンドを実行することで、タスクの詳細情報を表示し、実行履歴を確認できます。
  2. ログファイルの確認: タスクが実行するプログラムがログを出力する場合、そのログファイルを確認することで実行結果を把握できます。

schtasksコマンドで作成したタスクを一時停止することはできる?

schtasksコマンドを使用して作成したタスクは、一時停止することができます。

以下のコマンドを使用して、特定のタスクを一時停止することができます。

schtasks /change /tn "タスク名" /disable

このコマンドを実行すると、指定したタスクが一時的に無効化され、次回の実行が行われなくなります。

再度タスクを有効にするには、以下のコマンドを使用します。

schtasks /change /tn "タスク名" /enable

これにより、タスクを一時的に停止し、必要に応じて再開することができます。

まとめ

この記事では、Windowsのコマンドプロンプトにおけるschtasksコマンドの基本的な使い方から、タスクの作成、表示、変更、削除、さらには応用例まで幅広く解説しました。

タスクスケジューラを活用することで、定期的な作業を自動化し、効率的に管理することが可能です。

これを機に、実際にschtasksコマンドを使って自分のニーズに合ったタスクを設定し、日常業務の効率化を図ってみてはいかがでしょうか。

  • URLをコピーしました!
目次から探す