windowsのタスクスケジューラを用いてタスクの登録を行ってみたいと思います。
タスクスケジューラを開く
スタートメニューの『Windows 管理ツール』の中にタスクスケジューラがあります。
または、タスクバーの検索窓で『タスク』等と入力すると候補に出てきます。
タスクを作成する
『全般』タブ
基本的な情報を入力します。
まずは名前を入力しましょう。その他必要に応じて各種設定を行ってください。
『トリガー』タブ
タスクを実行するトリガーを設定します。
画面下部の『新規』を押下。
『タスクの開始』で開始の条件を設定します。
今回は『毎週月曜日の11:00に実行』し、詳細設定は指定なしで設定したいと思います。
トリガーが作成されました。
複数トリガーを登録したり、登録済みのタスクの編集、削除もこちらの画面で行うことができます。
操作タブ
操作は『プログラムの開始』の他に『電子メールの送信』『メッセージの表示』がありますが、非推奨となっています。
今回はテスト用のバッチファイルを実行するように設定します。
『プログラム/スクリプト』欄に実行するプログラムのパスを指定します。
操作が登録されました。こちらの画面で操作の追加、編集、削除が行えます。
条件タブ
トリガーに加えて、詳細な実行条件が設定できます。今回はデフォルトのままにします。
設定タブ
その他詳細な設定が行えます。こちらも今回はデフォルトのままにします。
最後に『OK』を押下し、登録完了。
登録したタスクの上で右クリックメニューを開くと各種操作ができます。
操作の実行や終了、タスクの無効化/有効化、プロパティから編集や、削除ができます。
エクスポート/インポートについて
タスクの右クリックメニューから選択できる『エクスポート』を選択すると、xmlファイルが出力されます。
タスクの移行や編集に使えるかと思います。
xmlファイルは下記のようになっています。
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2023-04-19T05:09:16.5973362</Date>
<Author>author-name</Author>
<Description>タスク作成学習用のタスクです。</Description>
<URI>\Test Task</URI>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2023-04-19T11:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByWeek>
<DaysOfWeek>
<Monday />
</DaysOfWeek>
<WeeksInterval>1</WeeksInterval>
</ScheduleByWeek>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>user-id</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>LeastPrivilege</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\[path]\test.bat</Command>
</Exec>
</Actions>
</Task>
インポートする際はタスク一覧の空欄で右クリックメニューを開くか、上部『操作』メニューから『タスクのインポート』で行えます。