バックアップタスクの開始時刻と設定の違い
毎日実行のタスクで、開始時刻・実行時間の上限・同時実行の扱い・StartWhenAvailable が違う 2 つの XML を比べる例です。
入力
タスク XML A
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo><Author>PC-me</Author></RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2026-10-01T03:00:00</StartBoundary>
<ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
</Settings>
<Actions><Exec><Command>backup.cmd</Command></Exec></Actions>
</Task>タスク XML B
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo><Author>PC-me</Author></RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2026-10-01T04:00:00</StartBoundary>
<ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Settings>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<StartWhenAvailable>true</StartWhenAvailable>
</Settings>
<Actions><Exec><Command>backup.cmd</Command></Exec></Actions>
</Task>
結果
エラー 0 件・警告 0 件・情報 2 件
指摘(エラー・警告・情報)
- 情報 Settings 片方で省略されていて、もう片方が XSD の既定値と同じ設定が 1 件あります。Windows 上の動作は同じと考えられます(Settings の要素のみ判定)。
- 情報 全体 要素の入れ子と値を比べるだけで、XSD に適合するかは検証しません。同じ名前の要素が複数あるときは [1] [2] と出現順で番号を付けています。
| 異なる項目 | 3 件 |
|---|---|
| 実質同じ(既定値) | 1 件 |
| 同じ項目 | 4 件 |
要素ごとの差分表
| 要素のパス | A | B | 判定 |
|---|---|---|---|
| Task/Settings/ExecutionTimeLimit | PT1H | PT72H | 値が違う |
| Task/Settings/MultipleInstancesPolicy | IgnoreNew | (省略) | 実質同じ(省略時の既定値 IgnoreNew) |
| Task/Settings/StartWhenAvailable | (省略=既定値 false) | true | 既定値と違う |
| Task/Triggers/CalendarTrigger/StartBoundary | 2026-10-01T03:00:00 | 2026-10-01T04:00:00 | 値が違う |
検算(この結果になる理由)
StartBoundary は 03:00 と 04:00、ExecutionTimeLimit は PT1H と PT72H で、どちらも値の違いです。MultipleInstancesPolicy は B で省略されていますが既定値が IgnoreNew で A と同じなので実質同じ、StartWhenAvailable は A が省略(既定値 false)で B が true なので既定値と違います。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- XML がスキーマに適合しているかの検証はしません。要素の入れ子と値の比較だけです。値の意味(期間の書式 PT72H の長短など)の判断もしません。
- Triggers 以下の既定値(Enabled が true など)は補いません。補うのは Settings 直下の要素の既定値だけです。
- XML のコメント・処理命令・DOCTYPE は無視します。エンティティ(< など)の基本的な 5 種類だけを展開します。
ご利用にあたって
- XML には実行ユーザー名やコマンドの引数が含まれることがあります。共有する前に内容を確認してください。
- 差分が実際の動作の違いになるかは、スケジューラの仕様と環境によります。