at計劃在指定時間和日期在電腦上運行命令和程式。at 命令只能在“計劃”服務運行時使用。如果在沒有參數的情況下使用,則 at 列出已計劃的命令。
文法
at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]
at [[\\ComputerName] hours:minutes [/interactive] [{/every:date[,...]|/next:date[,...]}] command]
參數
\\computername
指定遠端電腦。如果省略該參數,則 at 計劃本機電腦上的命令和程式。
ID
指定指派給已計劃命令的識別碼。
/delete
取消已計劃的命令。如果省略了 ID,則電腦中所有已計劃的命令將被取消。
/yes
刪除已計劃的事件時,對來自系統的所有詢問都回答“是”。
hours:minutes
指定命令啟動並執行時間。該時間用 24 小時制(即從 00:00 [午夜] 到 23:59)的 小時: 分鐘格式表示。
/interactive
對於在運行 command 時登入的使用者,允許 command 與該使用者的案頭進行互動。
/every:
在每個星期或月的指定日期(例如,每個星期四,或每月的第三天)運行 command 命令。
date
指定運行命令的日期。可以指定一周的某日或多日(即,鍵入 M、T、W、Th、F、S、Su)或一個月中的某日或多日(即,鍵入從 1 到31 之間的數字)。用逗號分隔多個日期項。如果省略了 date,則 at 使用該月的當前日。
/next:
在下一個指定日期(比如,下一個星期四)到來時運行 command。
command
指定要啟動並執行 Windows 命令、程式(.exe 或 .com 檔案)或批次程式(.bat 或 .cmd 檔案)。當命令需要路徑作為參數時,請使用絕對路徑,也就是從磁碟機代號開始的整個路徑。如果命令在遠端電腦上,請指定伺服器和共用名稱的通用命名協定 (UNC) 符號,而不是遠程磁碟機代號。
/?
在命令提示字元顯示協助。
注釋
Schtasks 是功能更為強大的超集命令列計劃工具,它含有 at 命令列工具中的所有功能。對於所有的命令列計劃任務,都可以使用 schtasks 來替代 at。有關 schtasks 的詳細資料,請參閱“”。
使用 at
使用 at 命令時,要求您必須是本地 Administrators 組的成員。
載入 Cmd.exe
在運行命令之前,At 不會自動載入 Cmd.exe (命令直譯器)。如果沒有運行可執行檔 (.exe),則在命令開頭必須使用如下所示的方法專門載入 Cmd.exe:
cmd /c dir > c:\test.out。
查看已計劃的命令
當不帶命令列選項使用 at 時,計劃任務會出現在類似於以下格式的表中:
Status ID Day Time Command Line
OK 1 Each F 4:30 PM net send group leads status due
OK 2 Each M 12:00 AM chkstor > check.file
OK 3 Each F 11:59 PM backup2.bat
包含標識號 (ID)
當在命令提示下使用帶有標識號 (ID) 的 at 命令時,單個任務項的資訊會顯示在類似於下面的格式中:
Task ID: 1
Status:OK
Schedule:Each F
Time of Day:4:30 PM
Command:net send group leads status due
當計劃帶有 at 的命令(尤其是帶有命令列選項的命令)後,要通過鍵入不帶命令列選項的 at 來檢查該命令文法是否輸入正確。如果顯示在“命令列”列中的資訊不正確,請刪除該命令,然後重新鍵入它。如果還不正確,則可以在重新鍵入該命令時讓它少帶些命令列選項。
查看結果
使用 at 的已經計劃的命令作為背景程式運行。運行結果不會顯示在電腦上。要將輸出重新導向到檔案,請使用重新導向符號 (>)。如果將輸出重新導向到檔案,則不論是在命令列還是在批次檔中使用 at,都需要在重新導向符號之前使用轉義符 (^)。例如,要重新導向輸出到 Output.text 檔案,則要鍵入:
at 14:45 c:\test.bat ^>c:\output.txt
執行命令的目前的目錄為 systemroot 檔案夾。
更改系統時間
在使用 at 命令計划了要啟動並執行命令之後,如果更改了電腦的系統時間,則通過鍵入不帶命令列選項的 at 可使 at 排程器與修改後的系統時間同步。
儲存命令
已計劃的命令儲存在註冊表中。這樣,如果重新啟動“計劃”服務,則不會丟失計劃任務。
串連到網路磁碟機
對於需要訪問網路的計劃作業,請不要使用已重新定向的磁碟機。“計劃”服務可能無法訪問這些重新導向的磁碟機,或者,在該計劃任務運行時如果有其他使用者登入,則這些重新導向的磁碟機可能不會出現。因此,對於計劃作業,請使用 UNC 路徑。例如:
at 1:00pm my_backup \\server\share
請不要使用下述文法(其中 x: ?表示由使用者建立的串連):
at 1:00pm my_backup x:
如果計划了一個使用磁碟機代號的 at 命令來串連共用目錄,則應包含一個 at 命令以使在完成該磁碟機的使用時斷開與磁碟機的串連。如果不能斷開與磁碟機的串連,則在命令提示下,所指派的磁碟機代號將不可用。
範例
要顯示 Marketing 伺服器上已計劃的命令列表,請鍵入:
at \\marketing
要瞭解伺服器 Corp 上標識號為 3 的命令的詳細資料,請鍵入:
at \\corp 3
要計劃在上午 8:00 於 Corp 伺服器上運行網際網路共用命令,並將該列表重新導向到 Maintenance 伺服器的 Corp.txt 檔案(位於 Reports 共用目錄下)中,請鍵入:
at \\corp 08:00 cmd /c "net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt"
為了在每五天后的午夜將 Marketing 伺服器的硬碟備份到磁帶磁碟機,首先建立名為 Archive.cmd 的批次程式(它含有備份命令),然後計劃該批次程式的運行,為此請鍵入:
at \\marketing 00:00 /every:5,10,15,20,25,30 archive
要取消當前伺服器上已計劃的所有命令,請按下述方法清除 at 計劃資訊:
at /delete
如果要啟動並執行命令不是可執行 (.exe) 檔案,請按如下所示的方法在該命令之前使用 cmd /c 來載入 Cmd.exe:
cmd /c dir > c:\test.out。