タスクスケジューラで作成されたタスクの設定ファイルはC:\Windows\System32\TasksまたはC:\Windows\Tasksに保存される

タスクスケジューラで作成されたタスクの設定ファイルはC:\Windows\System32\TasksまたはC:\Windows\Tasksに保存される、という話のメモ。

※検証にはWindows 10を使用。

TL;DR

  • schtasksコマンドでタスクを作成すると、C:\Windows\System32\TasksにXMLファイルが作成される。
  • atコマンドでタスクを作成すると、C:\Windows\Tasks.jobファイルが作成される。 ただし、繰り返し実行が設定されていないタスクの場合、タスクが実行されると.jobファイルは消去される。(参考)
  • タスクスケジューラ (GUI)でタスクを作成すると、C:\Windows\System32\TasksにXMLファイルが作成される。

schtasksコマンド

コマンドプロンプトを管理者権限で起動して、以下のschtasksコマンドでtest_task_onlogonという名前のタスクを作成した。(ユーザーのログオン時にタスクが起動されるように設定)

schtasks /create /sc ONLOGON /tn test_task_onlogon /tr "C:\Windows\notepad.exe"

すると、コマンドの実行直後にC:\Windows\System32\Tasks\test_task_onlogonというXMLファイルが作成された。

続いて、タスクの起動間隔をONLOGON (ログオン時)からONCE (一回きり)に変更したtest_task_onceというタスクを作成した。

schtasks /create /sc ONCE /st 00:00 /tn test_task_once /tr "C:\Windows\notepad.exe"

すると、コマンドの実行直後にC:\Windows\System32\Tasks\test_task_onceというXMLファイルが作成された。

atコマンド

コマンドプロンプトを管理者権限で起動して、以下のatコマンドを実行した。

at 00:00 "C:\Windows\notepad.exe"

しかし、Windows 10ではatコマンドが廃止されており、検証できなかった。

C:\Windows\system32>at 00:00 "C:\Windows\notepad.exe"
The AT command has been deprecated. Please use schtasks.exe instead.

The request is not supported.

atコマンドと.jobファイルの関係については、こちらの記事を参照。

記事によると、atコマンドでタスクを作成するとC:\Windows\Tasks.jobファイルが作成される。 ただし、繰り返し実行が設定されていないタスクの場合、タスクが実行されると.jobファイルは消去される。

タスクスケジューラ (GUI)

タスクスケジューラ (GUI)でtest_task_from_task_schedulerという名前のタスクを作成。

タスクの作成完了の直後にC:\Windows\System32\Tasks\test_task_from_task_schedulerというXMLファイルが作成された。

Leave a Reply

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