1. 程式人生 > >window下如何使用命令列建立schedule task(計劃任務)

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

[email protected] schtasks create onstart 語法 schtasks /create /tn TaskName /tr TaskRun /sc onstart [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] 範例 計劃任務在每次系統啟動的時候執行 下面的命令計劃 MyApp 程式在每次系統啟動的時候執行,起始日期是 2001 年 3 月 15 日。 schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc onstart /sd 03/15/2001 schtasks create onlogon 語法 schtasks /create /tn TaskName /tr TaskRun /sc onlogon [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] 範例 計劃任務在使用者登入到遠端計算機的時候執行 下面的命令計劃批處理檔案在使用者(任何使用者)每次登入到遠端計算機上的時候執行。它使用 /s 引數指定遠端計算機。因為命令是遠端的,所以命令中所有的路徑,包括批處理檔案的路徑,都指定為遠端計算機上的路徑。 schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23 schtasks create onidle 語法 schtasks /create /tn TaskName /tr TaskRun /sc onidle /iIdleTime [/sd StartDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] 範例 計劃某項任務在計算機空閒的時候執行 下面的命令計劃 MyApp 程式在計算機空閒的時候執行。它使用必需的 /i 引數指定在啟動任務之前計算機必需持續空閒十分鐘。 schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc onidle /i 10 更多範例 若要檢視範例,請單擊範例名稱: 建立以 System 許可權執行的任務 下面的命令計劃 MyApp 程式以 NT Authority\System 帳戶許可權執行。在這個範例中,任務計劃在每月的第一天執行,但對於以系統許可權執行的任務可以使用所有的計劃型別。 該命令使用 /ru "System" 引數指定系統安全上下文。因為系統任務不需要密碼,所以忽略了 /rp 引數。 schtasks /create /tn "My App" /tr c:\apps\myapp.exe /sc monthly /d 1 /ru "System" 作為響應,SchTasks.exe 顯示一個資訊性訊息和一個成功訊息。它不提示輸入密碼。  資訊:此任務將被創建於使用者名稱下 ("NT AUTHORITY\SYSTEM")。 成功:計劃任務 "My App" 已成功建立。  建立執行多個程式的任務 每個任務只能執行一個程式。但是可以建立一個執行多個程式的批處理檔案,然後計劃一個任務來執行該批處理檔案。下面的過程說明了這個方法:    1. 建立一個啟動要執行程式的批處理檔案。       在這個範例中建立了一個啟動“事件檢視器”(Eventvwr.exe) 和“系統監視器”(Perfmon.exe) 的批處理檔案。           * 啟動文字編輯器,例如“記事本”。           * 鍵入每個程式的名稱和指向可執行檔案的完全合格的路徑。在這種情況下,檔案包含有下列語句。             C:\Windows\System32\Eventvwr.exe             C:\Windows\System32\Perfmon.exe           * 將檔案儲存為 MyApps.bat。    2. 使用 SchTasks.exe 建立一個執行 MyApps.bat 的任務。       下面的命令建立了 Monitor 任務,每當有人登入它就執行。它使用 /tn 引數命名任務,使用 /tr 引數執行 MyApps.bat。它使用 /sc 引數來指明 OnLogon 計劃型別,使用 /ru 引數指定 Administrator 帳戶。       schtasks /create /tn Monitor /tr C:\MyApps.bat /sc onlogon /ru Reskit\Administrator       該命令的結果是,每當使用者登入到計算機,任務就啟動“事件檢視器”和“系統監視器”。 更改計劃任務 更改一個或多個下列任務屬性。     * 任務執行的程式 (/tr)。     * 任務執行的使用者帳戶 (/ru)。     * 使用者帳戶的密碼 (/rp)。 語法 schtasks /change /tn TaskName [/s computer [/u [domain\]user /p password]] [/tr TaskRun] [/ru [Domain\]User | "System"] [/rp Password] 引數 /tn TaskName     標識要更改的任務。輸入任務名。  /s Computer     指定遠端計算機的名稱或 IP 地址(帶有或者沒有反斜槓)。預設值是本地計算機。  /u [domain\]user     使用特定使用者帳戶的許可權執行命令。預設情況下,使用已登入到執行 SchTasks 的計算機上的使用者的許可權執行命令。  /p password     指定在 /u 引數中指定的使用者帳戶的密碼。如果使用 /u 引數,則需要該引數。  /tr TaskRun     更改任務執行的程式。輸入可執行檔案、指令碼檔案或批處理檔案的完全合格的路徑和檔名。如果忽略了路徑,SchTasks.exe 假定檔案在 Systemroot\System32 目錄下指定的程式替換任務最初執行的程式。  /ru [Domain\]User | "System"     更改用於任務的使用者帳戶。值 說明     [domain\]User     指定使用者帳戶     "System" or ""     指定為作業系統所使用的 NT Authority\System 帳戶。     在更改使用者帳戶的時候,必須也要更改使用者密碼。如果命令帶有 /ru 引數,但沒有 /rp 引數,SchTasks.exe 提示要求輸入新的密碼而且不顯示鍵入的文字。     任務以不需要密碼的 NT Authority\System 帳戶許可權執行,SchTasks.exe 不會提示輸入密碼。 /p Password     更改用於任務的帳戶密碼。輸入新的密碼。  /?     在命令提示符顯示幫助。  註釋     * XOX /tn 和 /s 引數標識該任務。/tr、/ru 和 /rp 引數指定可以更改的任務屬性。     * 使用 change 操作的命令必須至少更改一個任務屬性。     * NT Authority\System 帳戶沒有互動式登入許可權。使用者看不到以系統許可權執行的程式,不能與其互動。 範例 更改任務執行的程式 下面的命令將 Virus Check 任務執行的程式由 VirusCheck.exe 更改為 VirusCheck2.exe。此命令使用 /tn 引數標識任務,使用 /tr 引數指定任務的新程式。(不能更改任務名稱。) schtasks /change /tn "Virus Check" /tr C:\VirusCheck2.exe 作為響應,SchTasks.exe 顯示以下成功訊息: 成功:計劃任務 "Virus Check" 的引數已更改。 此命令的結果是,Virus Check 任務現執行 VirusCheck2.exe。