AT命令

snowfeeling發表於2007-01-27
語法
at [ComputerName] [{[ID] [/delete] | /delete [/yes]}]

at [[ComputerName] Hours:Minutes [/interactive] [{/every:Date[,...]| /next:Date[,...]}]Command][@more@]
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)表示為 Hours:Minutes。

/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 是另一個命令列計劃工具,可以用來建立和管理計劃任務。有關 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 servershare

不要使用如下語法,其中 x:表示使用者建立的連線:

at 1:00pm my_backup x:

如果計劃了一個使用驅動器號的 at 命令來連線共享目錄,則應包含一個 at 命令以使在完成該驅動器的使用時斷開與驅動器的連線。如果不能斷開與驅動器的連線,則在命令提示符下所指派的驅動器號不可用。

• 任務在 72 小時之後停止

在預設方式下,使用 at 命令安排的任務在 72 小時後停止。可以透過修改登錄檔來更改此預設值。

1.
啟動登錄檔編輯器 (regedit.exe)。

2.
找到並單擊以下注冊表項:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSchedule

3.
在“編輯”選單上,單擊“新增值”,然後新增以下注冊表值:值名稱:AtTaskMaxHours 資料型別:REG_DWORD 基數:十進位制值資料:0. 在值資料欄位中的 0 值表示無限制,不會停止。1 到 99 之間的值表示小時數。



警告

• 編輯登錄檔不當可能會嚴重損壞您的系統。在更改登錄檔之前,應備份計算機上任何有價值的資料。

• 任務計劃程式和 at 命令

可以使用“任務計劃”資料夾檢視或修改使用 at 命令建立的任務的設定。在使用 at 命令計劃任務時,計劃的任務將列在“任務計劃”資料夾中,其名稱舉例如下:At3478。但是,如果透過“任務計劃”資料夾修改 at 任務,則該任務將升級為普通計劃任務。該任務在 at 命令中將不再可見,且 at 帳戶設定也不再適用於該任務。需要明確地為該任務輸入使用者帳戶和密碼。


示例
要顯示 Marketing 伺服器上已計劃的命令列表,請鍵入:

at marketing

要了解 Corp 伺服器上識別碼為 3 的命令的詳細資訊,請鍵入:

at corp 3

要計劃在上午 8:00 於 Corp 伺服器上執行 net share 命令,並將該列表重定向到 Maintenance 伺服器的 Corp.txt 檔案(位於 Reports 共享目錄下)中,請鍵入:

at corp 08:00 cmd /c "net share reports=d:marketingreports >> maintenancereportscorp.txt"

要每隔 5 天在午夜將 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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7343861/viewspace-895124/,如需轉載,請註明出處,否則將追究法律責任。

相關文章