[問題描述] 如何透過工作排程的方式來執行磁碟重組.

[解決方法] 用管理者的身分執行 schtasks 建立一筆排程的工作, 讓此工作在預定的時間背景執行磁碟重組.

[執行步驟]

1. 登入Administrators群組的帳號。

2. 在CMD下,輸入此指令 : 

schtasks /create /SC daily /ST 11:40:00 /TN "daily Defrag" /TR "defrag c:"  (時間可以自訂, 例如: 我們要測試的時間為 9:30 = /ST 9:30:00)

schtasks /create /RU “SYSTEM” /SC daily /ST 11:40:00 /TN "daily Defrag" /TR "defrag c:" (此方法使用SYSTEM account執行,不需要輸入密碼)

參考語法:

參數

說明

/RU  username     

指定要用來執行工作之 "run as" 使用者帳戶 (使用者內容) 的密碼。對於系統帳戶,有效值是 ""、"NT AUTHORITY\SYSTEM"或 "SYSTEM"。

/SC   schedule 

指定排程執行頻率。有效的排程類型: MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY、ONCE、ONSTART、ONLOGON、ONIDLE、ONEVENT。

/ST   starttime   

指定開始執行工作的時間。時間格式是 HH:mm (24 小時制) 範例: 14:30 代表下午 2:30。若未指定 /ST,則預設為目前的時間。使用 /SC ONCE 時此選項為必要項目。

/TN   taskname    

指定可以用來識別這個排程工作的唯一名稱。

/TR   taskrun     

指定於排程時間執行的程式的路徑及檔案名稱。 (範例: C:\windows\system32\calc.exe)

3. 輸入此帳號的密碼。

4. 如此就可以在工作排程裏,多出一項有關磁碟重組的選項。

5. 登入 user的帳號, 並使用Run As的方式 (使用admin 的權限) 開啟一個Task Manager來查看是否在排定的時間有執行.

clip_image002

[建議事項]

· 磁碟重組的工具會佔用到系統的資源, 建議將工作排定在離峰時間 (如中午休息或下班再執行此工作).

· 由於磁碟重組的工作和掃毒軟體一樣會不斷的針對硬碟做重新讀取的動作, 一般來說僅需要定期執行 (一個月或二,三個禮拜執行一次即可) , 不需要每天執行以避免造成硬碟過多的負荷,而減低硬碟的壽命.

參考連接

執行 Windows 磁碟重組程式需要系統管理員權限

http://support.microsoft.com/kb/231176

說明 Windows XP 包含的新命令列 Defrag.exe

http://support.microsoft.com/kb/283080/zh-tw

Schtasks 指令說明

http://technet.microsoft.com/en-us/library/bb490996.aspx

有關磁碟重組工具的文件清單

http://support.microsoft.com/kb/286263/zh-tw

Disk Defragmenter Tools and Settings

http://technet.microsoft.com/en-us/library/cc784391(WS.10).aspx

How Disk Defragmenter Works

http://technet2.microsoft.com/WindowsServer/en/library/58b410b9-8de8-459b-a43d-ddebb5ec33981033.mspx?mfr=true