← 返回所有文章

Windows 排程工作(schtasks)指令

UtilsWindows排程工作排程schtasksTask Scheduler作者:VincentCorgi約 1 分鐘閱讀

功能

說明 Windows schtasks 在命令列 查詢、建立、修改、刪除、立即執行 排程工作的方式,對應圖形介面的「工作排程器」。

情境

  • 無法登入 GUI、要批次部署多台機器的排程、或想把現有排程匯出/複製成指令時用 schtasks
  • 需與腳本、CI 或遠端維護整合時,比純 GUI 好自動化。

查詢排程(/Query)

Code
schtasks /Query /FO LIST /V

/FO LIST 以清單格式輸出;/V 顯示詳細資訊(下次執行時間、狀態、作者等)。不帶 /FO 時預設為 TABLE。

Code
schtasks /Query /TN "<task_name>"

只查詢名為 TaskName 的單一工作;/TN 指定工作名稱。

Code
schtasks /Query /FO LIST /TN "\<folder>\<task_name>"

查詢放在資料夾底下的工作;路徑以 \ 開頭,例如 \Microsoft\Windows\Backup.

輸出範例(/FO LIST 節錄):

Code
TaskName:     \<task_name>
Next Run Time: <date_time>
Status:       Ready
Author:       <hostname>\<username>
Task To Run:  <script_path>

建立排程(/Create)

Code
schtasks /Create /TN "<task_name>" /TR "<script_path>" /SC DAILY /ST 02:00 /RU SYSTEM

建立每日 02:00 執行的排程;/TR 為要執行的程式或指令,/SC DAILY 為每日,/ST 開始時間,/RU 執行身分(SYSTEM 或 網域\使用者)。

Code
schtasks /Create /TN "<task_name>" /TR "notepad.exe" /SC ONLOGON /RU "%USERNAME%"

/SC ONLOGON 為使用者登入時觸發;/RU %USERNAME% 以目前使用者身分執行。

Code
schtasks /Create /TN "<task_name>" /TR "<script_path>" /SC ONCE /ST 23:00 /SD <date>

/SC ONCE 只執行一次;/SD 為開始日期(YYYY/MM/DD)。

常用 /SCMINUTEHOURLYDAILYWEEKLYMONTHLYONCEONSTARTONLOGONONIDLE

修改排程(/Change)

Code
schtasks /Change /TN "<task_name>" /ENABLE

啟用已停用的排程;/DISABLE 則停用。

Code
schtasks /Change /TN "<task_name>" /RU "<domain>\<user>" /RP "<password>"

修改執行身分與密碼;若改為系統帳號可 /RU SYSTEM,不需 /RP

執行排程(/Run)

Code
schtasks /Run /TN "<task_name>"

立即執行指定排程一次;不影響原有排程時間。

結束工作(/End)

Code
schtasks /End /TN "<task_name>"

強制結束該排程目前正在執行的執行個體;若工作未在跑則無效。

刪除排程(/Delete)

Code
schtasks /Delete /TN "<task_name>" /F

刪除名為 <task_name> 的排程;/F 不提示確認。

Code
schtasks /Delete /TN "\<folder>\<task_name>" /F

刪除資料夾底下的工作;路徑需與建立或查詢時一致。

匯出/匯入(搭配 XML)

工作排程器可匯出工作為 XML,再於命令列匯入:

Code
schtasks /Create /TN "<task_name>" /XML "<xml_path>" /F

/F 覆蓋同名工作;XML 內已含觸發條件與動作,不需再給 /TR/SC

速查

用途參數說明
查詢/Query列出或查單一工作
建立/Create/TN/TR/SC
修改/Change啟用/停用、改帳號
立即執行/Run觸發一次
結束/End結束執行中個體
刪除/Delete常加 /F 免確認

執行 schtasks /? 可看完整參數;需管理員權限時請以管理員身分開啟 CMD 或 PowerShell。