window下如何使用命令列建立schedule task(計劃任務)
Schtasks
安排命令和程式定期執行或在指定時間內執行。從計劃表中新增和刪除任務,按需要啟動和停止任務,顯示和更改計劃任務。
若要檢視該命令語法,請單擊以下命令:
schtasks create
建立新的計劃任務。
語法
schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] /?
引數
/tn TaskName
指定任務的名稱。
/tr TaskRun
指定任務執行的程式或命令。鍵入可執行檔案、指令碼檔案或批處理檔案的完全合格的路徑和檔名。如果忽略該路徑,SchTasks.exe 將假定檔案在 Systemroot\System32 目錄下。
/sc schedule
指定計劃型別。有效值為 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。值 說明
MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 指定計劃的時間單位。
ONCE 任務在指定的日期和時間執行一次。
ONSTART 任務在每次系統啟動的時候執行。可以指定啟動的日期,或下一次系統啟動的時候執行任務。
ONLOGON 每當使用者(任意使用者)登入的時候,任務就執行。可以指定日期,或在下次使用者登入的時候執行任務。
ONIDLE 只要系統空閒了指定的時間,任務就執行。可以指定日期,或在下次系統空閒的時候執行任務。
/mo modifier
指定任務在其計劃型別內的執行頻率。這個引數對於 MONTHLY 計劃是必需的。對於 MINUTE、HOURLY、DAILY 或 WEEKLY 計劃,這個引數有效,但也可選。預設值為 1。計劃型別 修飾符 說明
MINUTE 1 ~ 1439 任務每 n 分鐘執行一次。
HOURLY 1 ~ 23 任務每 n 小時執行一次。
DAILY 1 ~ 365 任務每 n 天執行一次。
WEEKLY 1 ~ 52 任務每 n 周執行一次。
MONTHLY 1 ~ 12 任務每 n 月執行一次。
LASTDAY 任務在月份的最後一天執行。
FIRST、SECOND、THIRD、FOURTH、LAST 與 /d day 引數共同使用,並在特定的周和天執行任務。例如,在月份的第三個週三。
/d dirlist
指定周或月的一天。只與 WEEKLY 或 MONTHLY 計劃共同使用時有效。計劃型別 日期值
WEEKLY 可選項。有效值是 MON ~ SUN 和 * (每一天)。MON 是預設值。
MONTHLY 在使用 FIRST、SECOND、THIRD、FOURTH 或 LAST 修飾符 (/mo) 時,需要 MON ~ SUN 中的某個值。1 ~ 31 是可選的,只在沒有修飾符或修飾符為 1 ~ 12 型別時有效。預設值是 1 (月份的第一天)。
/m month[,month...]
指定一年中的一個月。有效值是 JAN ~ DEC 和 * (每個月)。/m 引數只對於 MONTHLY 計劃有效。在使用 LASTDAY 修飾符時,這個引數是必需的。否則,它是可選的,預設值是 * (每個月)。
/i InitialPageFileSize
指定任務啟動之前計算機空閒多少分鐘。鍵入一個 1 ~ 999 之間的整數。這個引數只對於 ONIDLE 計劃有效,而且是必需的。
/st StartTime
以 HH:MM:SS 24 小時格式指定時間。預設值是命令完成時的當前本地時間。/st 引數只對於 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 計劃有效。它只對於 ONCE 計劃是必需的。
/sd StartDate
以 MM/DD/YYYY 格式指定任務啟動的日期。預設值是當前日期。/sd 引數對於所有的計劃有效,但只對於 ONCE 計劃是必需的。
/ed EndDate
指定任務計劃執行的最後日期。此引數是可選的。它對於 ONCE、ONSTART、ONLOGON 或 ONIDLE 計劃無效。預設情況下,計劃沒有結束日期。
/s Computer
指定遠端計算機的名稱或 IP 地址(帶有或者沒有反斜槓)。預設值是本地計算機。
/u [domain\]user
使用特定使用者帳戶的許可權執行命令。預設情況下,使用已登入到執行 SchTasks 的計算機上的使用者的許可權執行命令。
/p password
指定在 /u 引數中指定的使用者帳戶的密碼。如果使用 /u 引數,則需要該引數。
/ru {[Domain\]User | "System"}
使用指定使用者帳戶的許可權執行任務。預設情況下,使用使用者登入到執行 SchTasks 的計算機上的許可權執行任務。值 說明
[domain\}User? 指定使用者帳戶。
"System" 或 "" 指定作業系統使用的 NT Authority\System 帳戶。
/p Password
指定使用者帳戶的密碼,該使用者帳戶在 /u 引數中指定。如果在指定使用者帳戶的時候忽略了這個引數,SchTasks.exe 會提示您輸入密碼而且不顯示鍵入的文字。使用 NT Authority\System 帳戶許可權執行的任務不需要密碼,SchTasks.exe 也不會提示索要密碼。
/?
在命令提示符顯示幫助。
註釋
* XOX SchTasks.exe 不驗證程式檔案的位置或使用者帳戶密碼。如果沒有為使用者帳戶輸入正確的檔案位置或正確的密碼,任務仍然可以建立,但不會執行。另外,如果帳戶的密碼更改或過 期,而且沒有更改儲存在任務中的密碼,那麼任務也不會執行。
* NT Authority\System 帳戶沒有互動式登入許可權。使用者看不到以系統許可權執行的程式,不能與之互動。
* 每個任務只執行一個程式。但是,可以建立一個批處理檔案來啟動多個任務,然後計劃一個任務來執行該批處理檔案。
* 只要建立了任務就可對其測試。使用 run 操作來測試任務,然後從 SchedLgU.txt 檔案 ( Systemroot\SchedLgU.txt ) 中查閱錯誤。
每個計劃型別的語法和範例。
若要檢視該命令語法,請單擊以下命令:
schtasks create minute
語法
schtasks /create /tn TaskName /tr TaskRun /sc minute [/mo {1 - 1439}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃任務每 20 分鐘執行一次。
下面的命令計劃安全指令碼 Sec.vbs 每 20 分鐘執行一次。由於命令沒有包含起始日期或時間,任務在命令完成 20 分鐘後啟動,此後每當系統執行它就每 20 分鐘執行一次。請注意,安全指令碼原始檔位於遠端計算機上,但任務在本地計算機上計劃並執行。
schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs
作為響應,SchTasks.exe 顯示一條訊息來說明任務會以當前使用者的許可權執行並需要當前使用者的密碼。輸入密碼時,SchTasks.exe 不顯示鍵入的文字。
The task will be created under current logged-in user name. Please enter the password ************
然後 SchTasks.exe 顯示一條訊息表明已計劃該任務:
成功:計劃任務 "Security Script" 已成功建立。
查詢顯示命令計劃的任務:
TaskName Next Run Time Status ========================= ======================== ============== Security Script 10:50:00 AM , 4/4/2001
schtasks create hourly
語法
schtasks /create /tn TaskName /tr TaskRun /sc hourly [/mo {1 - 365}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃命令在每小時過五分的時候執行。
下面的命令將計劃 MyApp 程式從午夜過後五分鐘起每小時執行一次。因為忽略了 /mo 引數,命令使用了小時計劃的預設值,即每 (1) 小時。如果該命令在 12:05 A.M 之後生成,程式將在第二天才會執行。
schtasks /create /sc hourly /st 00:05:00 /tn "My App" /tr c:\apps\myapp.exe
計劃命令每五小時執行一次
下面的命令計劃 MyApp 程式從 2001 年 3 月的第一天起每五小時執行一次。它使用 /mo 引數來指定間隔時間,使用 /sd 引數來指定起始日期。由於命令沒有指定起始時間,當前時間被用作起始時間。
schtasks /create /sc hourly /mo 5 /sd 03/01/2001 /tn "My App" /tr c:\apps\myapp.exe
schtasks create daily
語法
schtasks /create /tn TaskName /tr TaskRun /sc daily [/mo {1 - 365}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃任務每天執行一次
下面的範例計劃 MyApp 程式在每天的 8:00 A.M. 執行一次,直到 2001 年 12 月 31 日結束。由於它忽略了 /mo 引數,所以使用預設間隔 1 來每天執行命令。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /st 08:00:00 /ed 12/31/2001
計劃任務每隔一天執行一次
下面的範例計劃 MyApp 程式從 2001 年 12 月 31 日起每隔一天在 1:00 P.M. (13:00) 執行。命令使用 /mo 引數來指定兩 (2) 天的間隔。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc daily /mo 2 /st 13:00:00 /sd 12/31/2001
schtasks create weekly
語法
schtasks /create /tn TaskName /tr TaskRun /sc weekly [/d {MON - SUN | *}] [/mo {1 - 52}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃任務每六週執行一次
下面的命令計劃 MyApp 程式在遠端計算機上每六週執行一次。該命令使用 /mo 引數來指定間隔。它也使用 /s 引數來指定遠端計算機,使用 /ru 引數來計劃任務以使用者的 Administrator 帳戶許可權執行。因為忽略了 /rp 引數,SchTasks.exe 會提示使用者輸入 Administrator 帳戶密碼。
另外,因為命令是遠端執行的,所以命令中所有的路徑,包括到 MyApp.exe 的路徑,都是指向遠端計算機上的路徑。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc weekly /mo 6 /s Server16 /ru Admin01
計劃任務每隔一週在週五執行
下面的命令計劃任務每隔一週在週五執行。它使用 /mo 引數來指定兩週的間隔,使用 /d 引數來指定是一週內的哪一天。如計劃任務在每個週五執行,要忽略 /mo 引數或將其設定為 1。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI
schtasks create monthly
語法
常規月計劃語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly [/mo {FIRST | SECOND | THIRD | FOURTH | LAST | LASTDAY] [/d {MON - SUN | 1 - 31}] [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
指定周的語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /mo {FIRST | SECOND | THIRD | FOURTH | LAST} /d {MON - SUN} [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
Lastday 語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /mo LASTDAY /m {JAN - DEC[,JAN - DEC...] | *} [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
指定日期的語法
schtasks /create /tn TaskName /tr TaskRun /sc monthly /d {1 - 31} [/m {JAN - DEC[,JAN - DEC...] | *}] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃任務在每月的第一天執行
下面的命令計劃 MyApp 程式在每月的第一天執行。因為預設修飾符是 none(即:沒有修飾符),預設天是第一天,預設的月份是每個月,所以該命令不需要任何其它的引數。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly
計劃任務在每月的最後一天執行
下面的命令計劃 MyApp 程式在每月的最後一天執行。它使用 /mo 引數指定在每月的最後一天執行程式,使用萬用字元 (*) 與 /m 引數表明在每月的最後一天執行程式。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo lastday /m *
計劃任務每三個月執行一次
下面的命令計劃 MyApp 程式每三個月執行一次。.它使用 /mo 引數來指定間隔。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo 3
計劃任務在每月的第二個週日執行
下面的命令計劃 MyApp 程式在每月的第二個週日執行。它使用 /mo 引數指定是每月的第二週,使用 /d 引數指定天。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /mo SECOND /d SUN
計劃任務在五月和六月的第 15 天執行。
下面的命令計劃 MyApp 程式在五月 15 日和六月 15 日的 3:00 PM (15:00) 執行。它使用 /d 引數來指定日期,使用 /m 引數指定月份。它也使用 /st 引數來指定開始時間。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 15 /m MAY,JUN /st 15:00:00
schtasks create once
語法
schtasks /create /tn TaskName /tr TaskRun /sc once /st StartTime /sd StartDate [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]]
範例
計劃任務執行一次
下面的命令計劃 MyApp 程式在 2002 年 1 月 1 日午夜執行一次。它使用 /ru 引數指定以使用者的 Administrator 帳戶許可權執行任務,使用 /rp 引數為 Administrator 帳戶提供密碼。
schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc once /st 00:00:00 /sd 01/01/2002 /ru Admin23 /rp