1. 程式人生 > WINDOWS開發 >在windows上 定時執行 Schtasks命令詳解(計劃任務DOS批處理)

在windows上 定時執行 Schtasks命令詳解(計劃任務DOS批處理)

例子:

執行每過一分鐘執行bat裡的內容:
SCHTASKS /Create /sc minute /mo 1 /tn "biaoti" /tr "C:\inetpub\wwwroot\caiji\aaa.bat"

刪除:
SCHTASKS /Delete /tn "biaoti"

下面詳解:

Schtasks

安排命令和程式定期執行或在指定時間內執行。從計劃表中新增和刪除任務,按需要啟動和停止任務,顯示和更改計劃任務。

建立新的計劃任務。

語法

schtasks/create/tnTaskName/trTaskRun/scschedule[/momodifier][/dday][/mmonth[,month...][/iIdleTime

][/stStartTime][/sdStartDate][/edEndDate][/scomputer[/u[domain\]user/ppassword]][/ru{[Domain\]User|"System"} [/rpPassword]]/?

引數

/tnTaskName

指定任務的名稱。

/trTaskRun

指定任務執行的程式或命令。鍵入可執行檔案、指令碼檔案或批處理檔案的完全合格的路徑和檔名。如果忽略該路徑,SchTasks.exe 將假定檔案在Systemroot\System32 目錄下。

/scschedule

指定計劃型別。有效值為 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE。

說明

MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY

指定計劃的時間單位。

ONCE

任務在指定的日期和時間執行一次。

ONSTART

任務在每次系統啟動的時候執行。可以指定啟動的日期,或下一次系統啟動的時候執行任務。

ONLOGON

每當使用者(任意使用者)登入的時候,任務就執行。可以指定日期,或在下次使用者登入的時候執行任務。

ONIDLE

只要系統空閒了指定的時間,任務就執行。可以指定日期,或在下次系統空閒的時候執行任務。

/momodifier

指定任務在其計劃型別內的執行頻率。這個引數對於 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

與/dday引數共同使用,並在特定的周和天執行任務。例如,在月份的第三個週三。

/ddirlist

指定周或月的一天。只與 WEEKLY 或 MONTHLY 計劃共同使用時有效。

計劃型別

日期值

WEEKLY

可選項。有效值是 MON ~ SUN 和 * (每一天)。MON 是預設值。

MONTHLY

在使用 FIRST、SECOND、THIRD、FOURTH 或 LAST 修飾符 (/mo) 時,需要 MON ~ SUN 中的某個值。1 ~ 31 是可選的,只在沒有修飾符或修飾符為1 ~ 12型別時有效。預設值是 1 (月份的第一天)。

/mmonth[,month...]

指定一年中的一個月。有效值是 JAN ~ DEC 和 * (每個月)。/m引數只對於 MONTHLY 計劃有效。在使用 LASTDAY 修飾符時,這個引數是必需的。否則,它是可選的,預設值是 * (每個月)。

/iInitialPageFileSize

指定任務啟動之前計算機空閒多少分鐘。鍵入一個1 ~ 999之間的整數。這個引數只對於 ONIDLE 計劃有效,而且是必需的。

/stStartTime

以HH:MM:SS24 小時格式指定時間。預設值是命令完成時的當前本地時間。/st引數只對於 MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY 和 ONCE 計劃有效。它只對於 ONCE 計劃是必需的。

/sdStartDate

MM/DD/YYYY格式指定任務啟動的日期。預設值是當前日期。/sd引數對於所有的計劃有效,但只對於 ONCE 計劃是必需的。

/edEndDate

指定任務計劃執行的最後日期。此引數是可選的。它對於 ONCE、ONSTART、ONLOGON 或 ONIDLE 計劃無效。預設情況下,計劃沒有結束日期。

/sComputer

指定遠端計算機的名稱或 IP 地址(帶有或者沒有反斜槓)。預設值是本地計算機。

/u [domain\]user

使用特定使用者帳戶的許可權執行命令。預設情況下,使用已登入到執行 SchTasks 的計算機上的使用者的許可權執行命令。

/ppassword

指定在/u引數中指定的使用者帳戶的密碼。如果使用/u引數,則需要該引數。

/ru {[Domain\]User|"System"}

使用指定使用者帳戶的許可權執行任務。預設情況下,使用使用者登入到執行 SchTasks 的計算機上的許可權執行任務。

說明

[domain\}User?

指定使用者帳戶。

"System"或""

指定作業系統使用的 NT Authority\System 帳戶。

/pPassword

指定使用者帳戶的密碼,該使用者帳戶在/u引數中指定。如果在指定使用者帳戶的時候忽略了這個引數,SchTasks.exe 會提示您輸入密碼而且不顯示鍵入的文字。使用 NT Authority\System 帳戶許可權執行的任務不需要密碼,SchTasks.exe 也不會提示索要密碼。

/?

在命令提示符顯示幫助。

範例

計劃任務每 20 分鐘執行一次。

下面的命令計劃安全指令碼 Sec.vbs 每 20 分鐘執行一次。由於命令沒有包含起始日期或時間,任務在命令完成 20 分鐘後啟動,此後每當系統執行它就每 20 分鐘執行一次。請注意,安全指令碼原始檔位於遠端計算機上,但任務在本地計算機上計劃並執行。

schtasks /create /sc minute /mo 20 /tn "Security scrīpt" /tr \\central\data\scrīpts\sec.vbs

範例

計劃命令在每小時過五分的時候執行。

下面的命令將計劃 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

範例

計劃任務每天執行一次

下面的範例計劃 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 程式在遠端計算機上每六週執行一次。該命令使用/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

計劃任務每隔一週在週五執行