Programming Field

Schtasks - DOS/コマンドプロンプト コマンド一覧

[Windows XP (Pro?) 以降] 「タスク スケジューラ」へのタスク登録や削除などの管理を行います。

構文

schtasks[.exe] [/<operation>] [<parameters>...]

オプション一覧

/<operation>

タスクに関する操作を指定します。「/」を含めて指定します。(大文字・小文字は区別されません。)

/Create タスクを作成します。
/Delete タスクを削除します。
/Query 登録済みのタスクを表示します。
/Change 登録済みのタスクのプロパティ(設定)を変更します。
/Run タスクを実行します。
/End タスクを終了させます。
/ShowSid [Windows Vista以降] タスクに対応するセキュリティ識別子(SID)を計算します。

なお、このオプションを省略した場合は /Query として扱われます。

<parameters>... 上記オプションで使用するパラメーター(オプション)を指定します。/Query 以外は指定必須のパラメーターがあります。

解説

Schtasksについて

Schtasksは指定されたオプション(操作)によってタスクの登録や削除などを行うプログラムです。WindowsのGUIにおける「タスク スケジューラ」(taskschd.msc)のコマンドライン版ととらえることができます。Linux系におけるcronのような役割があります。

Schtasksには以下の操作があります。操作と必要なオプションの詳細は以下の子ページにて扱っています。

タスク名について

すべての操作において、タスク名を指定する際に「/TN <task-name>」と指定します(/Query に限り省略可能)。/TN を使って操作対象のタスクを指定することになります。

タスク名は基本的にはファイル名と同じ文字を使用できますが、「\」文字を入れた場合はそれより前の文字が「フォルダー」として扱われます。例えば「Hoge\Piyo\FooTask」という名前を使った場合は「Hogeフォルダー内のPiyoフォルダー内のFooTask」という扱いになります。フォルダーは主にタスクをグルーピングする際に用いられます。

※ フォルダー内のタスクをすべて削除しても、フォルダー自体は残ります。Schtasksコマンドではフォルダー自体を削除することができないため、その場合は「タスク スケジューラ」を使う必要があります。(C:\Windows\System32\Tasks 以下に作成されるフォルダーを手動で削除することもできますが、システムを再起動しないと反映されない模様です。)

終了コード

Schtasks はコマンドに成功したときに終了コード 0、失敗したときに 1 を返します。

[Windows 10 以降] 「/HRESULT」オプションを持つ操作において /HRESULT オプションを指定した場合は、失敗したときに終了コードが負の値になります。この負の値は失敗の理由を表す詳細な値(HRESULT値)になるため、失敗時に特別なハンドリングをしたい場合に有用です。

※ ユーザー入力によって操作を取り消した場合はコマンドによって成功した扱い(終了コード 0)か失敗した扱い(終了コード 1)か変わります。ただし Ctrl+C で中断した場合は負の値(-1073741510)になります。

関連項目