【bat】windows如何使用bat快速安裝計划任務?


關鍵詞:windows定時任務,schtasks,at ,bat

schtasks 部分轉自: https://www.cnblogs.com/yumianhu/p/3710743.html

 at的詳解轉自:https://www.cnblogs.com/hushaojun/p/4522398.html

 

案例:

@echo off
color 2
echo.
echo ----------------- ddt_db_backup_install  --------------------
echo ----------------- ddt_db_backup_install -------------------- > install.log 
echo.

schtasks /delete /TN ddt_db_backup /F
schtasks /delete /TN ddt_db_bakcup /F
schtasks /create /ru administrator /rp qwer!1234 /tn "ddt_db_backup" /tr "C:\shell\ddt_db_bakcup.bat" /sc daily /st 06:10:00 /F

IF ERRORLEVEL 1 (ECHO Error: ddt_db_backup install error
ECHO Error: ddt_db_backup install error >> install.log 2>&1
goto error)
echo OK
echo OK >> install.log 2>&1

:ok
echo.
echo ------------------- Install Success ---------------------
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
goto end

:error
echo.
echo.
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
ping -n 2 127.1>nul
exit 1

:end
exit

 

---------------------------------------------分割線----------------------------------------------

SCHTASKS /parameter [arguments]

描述:
    允許管理員創建、刪除、查詢、更改、運行和中止本地或遠程系統上的計划任務。

參數列表:
    /Create         創建新計划任務。
    /Delete         刪除計划任務。
    /Query          顯示所有計划任務。
    /Change         更改計划任務屬性。
    /Run            按需運行計划任務。
    /End            中止當前正在運行的計划任務。
    /ShowSid        顯示與計划的任務名稱相應的安全標識符。
    /?              顯示幫助消息。

創建新計划任務
SCHTASKS /Create [/S system [/U username [/P [password]]]]
    [/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
    [/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
    [/RI interval] [ {/ET endtime | /DU duration} [/K] [/XML xmlfile] [/V1]]
    [/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F]

描述:
     允許管理員在本地或遠程系統上創建計划任務。

參數列表:
    /S   system        指定要連接到的遠程系統。如果省略這個系統參數,默認是本地系統。

    /U   username      指定應在其中執行 SchTasks.exe 的用戶上下文。

    /P   [password]    指定給定用戶上下文的密碼。如果省略則提示輸入。

    /RU  username      指定任務在其下運行的“運行方式”用戶帳戶(用戶上下文)。
                       對於系統帳戶,有效值是 ""、"NT AUTHORITY\SYSTEM" 或"SYSTEM"。
                       對於 v2 任務,"NT AUTHORITY\LOCALSERVICE"和
                       "NT AUTHORITY\NETWORKSERVICE"以及常見的 SID。對這三個也都可用。

    /RP  [password]    指定“運行方式”用戶的密碼。要提示輸入密碼,值必須是 "*" 或無。
                       系統帳戶會忽略該密碼。必須和 /RU 或 /XML 開關一起使用。
                      
    /RU/XML  /SC  schedule     指定計划頻率。
                       有效計划任務:  MINUTE、 HOURLY、DAILY、WEEKLY、
                       MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT.

    /MO   modifier     改進計划類型以允許更好地控制計划重復
                       周期。有效值列於下面“修改者”部分中。

    /D    days         指定該周內運行任務的日期。有效值:
                       MON、TUE、WED、THU、FRI、SAT、SUN
                       和對 MONTHLY 計划的 1 - 31
                       (某月中的日期)。通配符“*”指定所有日期。

    /M    months       指定一年內的某月。默認是該月的第一天。
                       有效值: JAN、FEB、MAR、APR、MAY、JUN、
                       JUL、 AUG、SEP、OCT、NOV  和 DEC。通配符
                       “*” 指定所有的月。

    /I    idletime     指定運行一個已計划的 ONIDLE 任務之前
                       要等待的空閑時間。
                       有效值范圍: 1999 分鍾。

    /TN   taskname     指定唯一識別這個計划任務的名稱。

    /TR   taskrun      指定在這個計划時間運行的程序的路徑
                       和文件名。
                       例如: C:\windows\system32\calc.exe

    /ST   starttime    指定運行任務的開始時間。
                       時間格式為 HH:mm (24 小時時間),例如 14:30 表示
                       2:30 PM。如果未指定 /ST,則默認值為
                       當前時間。/SC ONCE 必需有此選項。

    /RI   interval     用分鍾指定重復間隔。這不適用於
                       計划類型: MINUTE、HOURLY、
                       ONSTART, ONLOGON, ONIDLE, ONEVENT.
                       有效范圍: 1 - 599940 分鍾。
                       如果已指定 /ET 或 /DU,則其默認值為
                       10 分鍾。

    /ET   endtime      指定運行任務的結束時間。
                       時間格式為 HH:mm (24 小時時間),例如,14:50 表示 2:50 PM。
                       這不適用於計划類型: ONSTART、
                       ONLOGON, ONIDLE, ONEVENT.

    /DU   duration     指定運行任務的持續時間。
                       時間格式為 HH:mm。這不適用於 /ET 和
                       計划類型: ONSTART, ONLOGON, ONIDLE, ONEVENT.
                       對於 /V1 任務,如果已指定 /RI,則持續時間默認值為
                       1 小時。

    /K                 在結束時間或持續時間終止任務。
                       這不適用於計划類型: ONSTART、
                       ONLOGON, ONIDLE, ONEVENT.
                       必須指定 /ET 或 /DU。

    /SD   startdate    指定運行任務的第一個日期。
                       格式為 yyyy/mm/dd。默認值為
                       當前日期。這不適用於計划類型: ONCE、
                       ONSTART, ONLOGON, ONIDLE, ONEVENT.

    /ED   enddate      指定此任務運行的最后一天的日期。
                       格式是 yyyy/mm/dd。這不適用於計划類型:
                        ONCE、ONSTART、ONLOGON、ONIDLE。

    /EC   ChannelName  為 OnEvent 觸發器指定事件通道。

    /IT                僅有在 /RU 用戶當前已登錄且
                       作業正在運行時才可以交互式運行任務。
                       此任務只有在用戶已登錄的情況下才運行。

    /NP                不儲存任何密碼。任務以給定用戶的身份
                       非交互的方式運行。只有本地資源可用。

    /Z                 標記在最終運行完任務后刪除任務。

    /XML  xmlfile      從文件的指定任務 XML 中創建任務。
                       可以組合使用 /RU 和 /RP 開關,或者在任務 XML 已包含
                       主體時單獨使用 /RP。

    /V1                創建 Vista 以前的平台可以看見的任務。
                       不兼容 /XML。

    /F                 如果指定的任務已經存在,則強制創建
                       任務並抑制警告。

    /RL   level        為作業設置運行級別。有效值為
                       LIMITED 和 HIGHEST。默認值為 LIMITED。

    /DELAY delaytime   指定觸發觸發器后延遲任務運行的
                       等待時間。時間格式為
                       mmmm:ss。此選項僅對計划類型
                       ONSTART, ONLOGON, ONEVENT.

    /?                 顯示幫助消息。

修改者: 按計划類型的 /MO 開關的有效值:
    MINUTE:  11439 分鍾。
    HOURLY:  1 - 23 小時。
    DAILY:   1365 天。
    WEEKLY:  152 周。
    ONCE:    無修改者。
    ONSTART: 無修改者。
    ONLOGON: 無修改者。
    ONIDLE:  無修改者。
    MONTHLY: 112,或FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY。
    ONEVENT:  XPath 事件查詢字符串。
示例:
    ==> 在遠程機器 "ABC" 上創建計划任務 "doc",
        該機器每小時在 "runasuser" 用戶下運行 notepad.exe。

        SCHTASKS /Create /S ABC /U user /P password /RU runasuser
                 /RP runaspassword /SC HOURLY /TN doc /TR notepad

    ==> 在遠程機器 "ABC" 上創建計划任務 "accountant",
        在指定的開始日期和結束日期之間的開始時間和結束時間內,
        每隔五分鍾運行 calc.exe。

        SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
                 /MO 5 /TN accountant /TR calc.exe /ST 12:00 /ET 14:00
                 /SD 06/06/2006 /ED 06/06/2006 /RU runasuser /RP userpassword

    ==> 創建計划任務 "gametime",在每月的第一個星期天運行“空當接龍”。

        SCHTASKS /Create /SC MONTHLY /MO first /D SUN /TN gametime
                 /TR c:\windows\system32\freecell

    ==> 在遠程機器 "ABC" 創建計划任務 "report",每個星期運行 notepad.exe。

        SCHTASKS /Create /S ABC /U user /P password /RU runasuser
                 /RP runaspassword /SC WEEKLY /TN report /TR notepad.exe

    ==> 在遠程機器 "ABC" 創建計划任務 "logtracker",
        每隔五分鍾從指定的開始時間到無結束時間,
        運行 notepad.exe。將提示輸入 /RP 密碼。

        SCHTASKS /Create /S ABC /U domain\user /P password /SC MINUTE
                 /MO 5 /TN logtracker
                 /TR c:\windows\system32\notepad.exe /ST 18:30
                 /RU runasuser /RP

    ==> 創建計划任務 "gaming",每天從 12:00 點開始到14:00 點自動結束,運行 freecell.exe。

        SCHTASKS /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00
                 /ET 14:00 /K
    ==> 創建計划任務“EventLog”以開始運行 wevtvwr.msc。只要在“系統”通道中發布事件 101

        SCHTASKS /Create /TN EventLog /TR wevtvwr.msc /SC ONEVENT
                 /EC System /MO *[System/EventID=101]
    ==> 文件路徑中可以加入空格,但需要加上兩組引號,
        一組引號用於 CMD.EXE,另一組用於 SchTasks.exe。用於 CMD
        的外部引號必須是一對雙引號;內部引號可以是一對單引號或
        一對轉義雙引號:
        SCHTASKS /Create
           /tr "'c:\program files\internet explorer\iexplorer.exe'
           \"c:\log data\today.xml\"" ...

刪除計划任務
SCHTASKS /Delete [/S system [/U username [/P [password]]]]
         /TN taskname [/F]

描述:
    刪除一個或多個計划任務。

參數列表:
    /S   system         指定要連接到的遠程系統。
    /U   username       指定 schtasks.exe  要執行的用戶上下文。
    /P   [password]     指定給定用戶上下文密碼。如果省略則提示輸入。
    /TN  taskname       指定要刪除的計划任務名稱。可以使用通配符 "*" 來刪除所有任務。
    /F                  強制刪除該任務,而且如果指定的任務當前正在運行,則抑制警告。
    /?                  顯示幫助消息。

示例:
    SCHTASKS /Delete /TN * /F
    SCHTASKS /Delete /TN "Backup and Restore"
    SCHTASKS /Delete /S system /U user /P password /TN "Start Restore"
    SCHTASKS /Delete /S system /U user /P password /TN "Start Backup" /F

顯示所有計划任務
SCHTASKS /Query [/S system [/U username [/P [password]]]]
         [/FO format | /XML [xml_type]] [/NH] [/V] [/TN taskname] [/?]

描述:
    允許管理員顯示本地或遠程系統上的計划任務。

參數列表:
    /S    system         指定要連接到的遠程系統。
    /U    username       指定 schtasks.exe 要執行的用戶上下文。
    /P    [password]     指定給定的用戶上下文密碼。如果省略則提示輸入。
    /FO   format         為輸出指定格式。有效值: TABLE、LIST、CSV。
    /NH                  指定在輸出中不顯示列標題。只對 TABLE 格式有效。
    /V                   顯示詳細任務輸出。
    /TN   taskname       指定要檢索其信息的任務名稱,否則會檢索所有任務名稱的信息。
    /XML  [xml_type]     以 XML 格式顯示任務定義。
                         如果 xml_type 為 ONE,則輸出為一個有效 XML 文件。
                         如果 xml_type 不存在,則輸出將為
                         所有 XML 任務定義的串聯。
    /?                   顯示幫助消息。

示例:
    SCHTASKS /Query
    SCHTASKS /Query /?
    SCHTASKS /Query /S system /U user /P password
    SCHTASKS /Query /FO LIST /V /S system /U user /P password
    SCHTASKS /Query /FO TABLE /NH /V


更改計划任務屬性
SCHTASKS /Change [/S system [/U username [/P [password]]]] /TN taskname
     { [/RU runasuser] [/RP runaspassword] [/TR taskrun] [/ST starttime]
       [/RI interval] [ {/ET endtime | /DU duration} [/K] ]
       [/SD startdate] [/ED enddate] [/ENABLE | /DISABLE] [/IT] [/Z] }

描述:
    更改要運行的程序,或計划任務使用的用戶帳戶和密碼。


參數列表:
    /S       system      指定要連接的遠程系統。
    /U       username    指定應在其中執行 schtasks.exe的用戶上下文。
    /P       [password]  指定給定用戶上下文的密碼。如果省略則提示輸入。
    /TN      taskname    指定要更改的計划任務。
    /RU      username    更改必須在其中執行計划任務的
                         用戶名(用戶上下文)。對於系統帳戶,
                         有效值為 ""、"NT AUTHORITY\SYSTEM" 或 "SYSTEM"。
                         對於 v2 任務,"NT AUTHORITY\LOCALSERVICE"和
                         "NT AUTHORITY\NETWORKSERVICE"以及常見的 SID
                         對這三個也都可用。
    /RP      password    為現有用戶上下文指定新密碼
                         或為新用戶帳戶指定密碼。
                         對系統帳戶忽略此密碼。

    /TR      taskrun     指定計划任務將運行的新程序。
    /ST      starttime   指定運行任務的開始時間。
                         時間格式為 HH:mm (24 小時時間),例如 14:30表示 2:30 PM。

    /RI      interval    用分鍾指定重復間隔。有效范圍: 1 - 599940 分鍾。

    /ET      endtime     指定運行任務的結束時間。
                         時間格式為 HH:mm (24 小時時間),例如 14:50
                         表示 2:50 PM。

    /DU      duration    指定運行任務的持續時間。
                         時間格式為 HH:mm。這不適用於 /ET。

    /K                   在結束時間或持續時間終止任務。

    /SD      startdate   指定運行任務的第一個日期。
                         格式為 yyyy/mm/dd。

    /ED      enddate     指定任務應該運行的最后一個日期。
                         格式為 yyyy/mm/dd。

    /IT                  僅有在 /RU 用戶當前已登錄且
                         作業正在運行時才可以交互式運行任務。
                         此任務只有在用戶已登錄的情況下才運行。

    /RL      level       設置作業的運行級別。有效值為
                         LIMITED 和 HIGHEST。默認情況下是不對其進行更改。

    /ENABLE              啟用計划任務。

    /DISABLE             禁用計划任務。

    /Z                   標記在最終運行完任務后刪除任務。

    /DELAY   delaytime   指定觸發觸發器后延遲任務運行的
                         等待時間。時間格式為
                         mmmm:ss。此選項僅對計划類型
                         ONSTART、ONLOGON 和 ONEVENT 有效。

    /?                   顯示幫助消息。

示例:
    SCHTASKS /Change /RP password /TN "備份和還原"
    SCHTASKS /Change /TR restore.exe /TN "啟動還原"
    SCHTASKS /Change /S system /U user /P password /RU newuser
             /TN "Start Backup" /IT


按需運行計划任務
SCHTASKS /Run [/S system [/U username [/P [password]]]] [/I] /TN taskname

描述:
    按需運行計划任務。

參數列表:
    /S     system        指定要連接到的遠程系統。
    /U     username      指定應在其中執行 schtasks.exe的用戶上下文。
    /P     [password]    為給定的用戶上下文指定密碼,如果省略則提示輸入。
    /I                   忽略任何限制立即運行任務。
    /TN    taskname      標識要立即運行的計划任務。
    /?                   顯示此幫助消息。

示例:
    SCHTASKS /Run /TN "Start Backup"
    SCHTASKS /Run /S system /U user /P password /I /TN“備份和還原”

中止當前正在運行的計划任務
SCHTASKS /End [/S system [/U username [/P [password]]]] /TN taskname

描述:
    停止正在運行的計划任務。

參數列表:
    /S   system      指定要連接到的遠程系統。
    /U   username    指定應在其中執行schtasks.exe 的用戶上下文。
    /P   [password]  為給定的用戶上下文指定密碼。如果已忽略,將提示輸入密碼。
    /TN  taskname    指定要終止的計划任務。
    /?               顯示幫助消息。

示例:
    SCHTASKS /End /TN "Start Backup"
    SCHTASKS /End /S system /U user /P password /TN "Backup and Restore"


顯示與計划的任務名稱相應的安全標識符
SCHTASKS /ShowSid /TN taskname

描述:
    向任務的專用用戶顯示 SID。

參數列表:
    /TN  taskname    指定計划的任務名稱。名稱中不允許有短划線。
    /?               顯示幫助消息。

示例:
    SCHTASKS /ShowSid /TN "\Microsoft\Windows\RAC\RACTask

------------------------------------------分割線-------------------------------------------------

T命令是Windows XP中內置的命令,它也可以媲美Windows中的“計划任務”,而且在計划的安排、任務的管理、工作事務的處理方面,AT命令具有更強大更神通的功能。AT命令可在指定時間和日期、在指定計算機上運行命令和程序。 我們可以在“開始→運行”中輸入AT命令,下面就來看看AT命令的一些實例分析。 

1、定時關機 
命令:at 21:00 ShutDown –S –T30 
該命令運行后,到了21:00點,電腦會出現“系統關機”對話框,並默認30秒延時自動關機。 

2、定時提醒 
命令:at 12:00 Net Send 10.10.36.132與朋友約會的時間到了,快點准備出發吧! 
其中Net Send是Windows內部程序,可以發送消息到網絡上的其他用戶、計算機。10.10.36.132是本機電腦的IP地址。這個功能在Windows中也稱作“信使服務”。 

3、自動運行批處理文件 
如果公司的數據佷重要,要求在指定的日期/時間進行備份,那么運行: 
命令:at 1:00AM /Every:Saturday My_BackUp.bat 
這樣,在每個Saturday(周六)的早上1:00點,電腦定時啟動My_BackUp.bat批處理文件。My_BackUp.bat是一個你自行編制的批處理文件,它包含能對系統進行數據完全備份的多條命令。 

4、取消已經安排的計划 
命令:at 5 /Delete 
有時候,你已經安排好的計划可能臨時變動,這樣你可以及時地用上述命令刪除該計划(5為指派給已計划命令的標識編號),當然,刪除該計划后,可以重新安排。 
AT命令是一個win2000/xp/nt當中的一個命令,然而在我們的入侵當中是一個不可缺少的一項服務,他可以讓程序中有一個程序在一定的時間里自動執行,從而操控計算機, 下面說一下他的用法! 
AT 命令安排在特定日期和時間運行命令和程序。 要使用 AT 命令,計划服務必須已在運行中。 
 
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] 
AT [\\computername] time [/INTERACTIVE][ /EVERY:date[,...] | /NEXT:date[,...]] "command" 
\\computername 指定遠程計算機。 如果省略這個參數,會計划在本地計算機上運行命令。 
id 指定給已計划命令的識別號。 
/delete刪除某個已計划的命令。如果省略 id,計算機上所有已計划的命令都會被刪除。 
/yes 不需要進一步確認時,跟刪除所有作業的命令一起使用。 
time 指定運行命令的時間。 
/interactive 允許作業在運行時,與當時登錄的用戶桌面進行交互。 
/every:date[,...]每個月或每個星期在指定的日期運行命令。如果省略日期,則默認為在每月的本日運行。 
/next:date[,...] 指定在下一個指定日期(如,下周四)運行命令。如果省略日期,則默認為在每月的本日運行。 
"command"准備運行的 Windows NT 命令或批處理程序。 
下面說一下他的幾個用法!! 
(Viliosn.exe 是一個程序) 
1,如果想讓啟動對方在指定時間里的某個程序,你可在命令行里打入: 
At \\127.0.0.123:00 c:\winnt\system32/viliosn.exe 
提示:新加了一份作業, 作業id=1 
2.讓對方的計算機在每周一和周二的23:00啟動某個程序.那么你可以打入 
At \\127.0.0.1 23:00 /every:一,二 c:\winnt\system32\viliosn.exe 
提示:新加了一份作業, 作業id=2 
3.刪除對方計算機上作業id為1的任務 
At \\127.0.0.1 1 /delete /yes 
4.刪除所有的任務 
At \\127.0.0.1 /delete 
提示:是否要刪除所有的操作?然后我們打 Y
查出192.168.0.1機器的當前時間: 
net time \\192.168.0.1 
設定192.168.0.1機器在10:05運行huigezi.exe程序: 
at \\192.168.0.1 10:05 huigezi.exe
At列出在指定的時間和日期在計算機上運行的已計划命令或計划命令和程序。必須正在運行“計划”服務才能使用 at 命令。
at [\\computername] [[id] [/delete] | /delete [/yes]]
at [\\computername] time [/interactive] [/every:date[,...]| /next:date[,...]] command 
參數    無
如果在沒有參數的情況下使用,則 at 列出已計划的命令。
\\computername
指定遠程計算機。如果省略該參數,命令將安排在本地計算機。
id
指定指派給已計划命令的識別碼。 
/delete
取消已計划的命令。如果省略了 id,計算機中已計划的命令將被全部取消。
/yes
當刪除已計划的事件時,對系統的查詢強制進行肯定的回答。
time
指定運行命令的時間。將時間以 24 小時標記(00:00 [午夜]23:59)的方式表示為小時:分鍾。
/interactive
允許作業與在作業運行時登錄用戶的桌面進行交互。
/every:date[,...]
在每個星期或月的指定日期(例如,每個星期四,或每月的第三天)運行命令。將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 131 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
/next:date[,...]
在重復出現下一天(例如,下個星期四)時,運行指定命令將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 131 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
command
指定要運行的 Windows 2000 命令、程序(.exe 或 .com 文件)或批處理程序(.bat 或 .cmd 文件)。當命令需要路徑作為參數時,請使用絕對路徑,也就是從驅動器號開始的整個路徑。如果命令在遠程計算機上,請指定服務器和共享名的 UNC 符號,而不是遠程驅動器號。如果命令不是可執行 (.exe) 文件,必須在命令前加上 cmd /c,例如:
cmd /c dir > c:\test.out

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM