其實Windows系統中有很多指令可以幫我們解決很多問題,慢慢嘗試寫一些腳本,你發(fā)現原來很多事情根本沒必要去下載第三方軟件,更不會因為太多的任務二讓你的電腦變慢。。。
大家都知道,在Windows系統的運行里輸入cmd,出現一個類是DOS的界面,這里有很多指令可以幫你完成很多任務,慢慢你就會愛上她的,現在我們來了解她的 at指令:
at
列出在指定的時間和日期在計算機上運行的已計劃命令或計劃命令和程序,以及設置在制定時間和日期在計算機上運行計劃命令或程序(必須確保你的系統Task Scheduler服務是開啟的),以下都是在CMD下執(zhí)行的:
c:\> at :列出在指定的時間和日期在計算機上運行的已計劃命令或計劃命令和程序
c:\> at /? :獲取at的幫助
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command"
\\computername 指定遠程計算機。 如果省略這個參數,會計劃在本地計算機上運行命令。
id 指定給已計劃命令的識別號。
/delete 刪除某個已計劃的命令。如果省略 id,計算機上所有已計劃的命令都會被刪除。
/yes 不需要進一步確認時,跟刪除所有作業(yè)的命令一起使用。
time 指定運行命令的時間。將時間以 24 小時標記(00:00 [午夜] 到 23:59)的方式表示為小時:分鐘。
/interactive 允許作業(yè)在運行時,與當時登錄的用戶桌面進行交互。
/every:date[,...] 在每個星期或月的指定日期(例如,每個星期四,或每月的第三天)運行命令。將 date 指定為星
期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省
略了date,將假定為該月的當前日期。
/next:date[,...] 在重復出現下一天(例如,下個星期四)時,運行指定命令將 date 指定為星期的一天或多天 (M,
T, W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定
為該月的當前日期。
"command" 準備運行的 Windows NT 命令或批處理 程序。
現在你可以嘗試用at指令完成下邊的任務:
1. 定時關機
at 00:00 shutdown -s -f -t 0 >nul 2>nul
rem 在凌晨自動關機
rem 0 >nul 2>nul 表示無論命令執(zhí)行成功與否都不顯示消息
2. 在每個周一的上午8點執(zhí)行系統垃圾的清理
at 8:00 /every:M cmd /c d:\clean.bat 或at 8:00 /every:M clean.exe
rem cmd /c dir 是執(zhí)行完dir命令后關閉命令窗口。
rem d:\clean.bat是你要執(zhí)行垃圾清理的批處理的路徑及文件名,以下是其腳本代碼,你可以復制到記事本,保存為clean.bat
-----------------------------------------------------------------------------------------------------(此線不要復制)
@echo off
color f0
echo.
echo 正在安全地自動清除垃圾文件……
del /f /q %systemdrive%\*.tmp>nul 2>nul
del /f /q %systemdrive%\*._mp>nul 2>nul
del /f /q %systemdrive%\*.log>nul 2>nul
del /f /q %systemdrive%\*.gid>nul 2>nul
del /f /q %systemdrive%\*.chk>nul 2>nul
del /f /q %systemdrive%\*.old>nul 2>nul
del /f /q %windir%\*.bak>nul 2>nul
del /f /q %windir%\*.tmp>nul 2>nul
del /f /q %windir%\prefetch\*.*>nul 2>nul
del /f /s /q %systemdrive%\recycled\*.*
del /f /q "%ALLUSERSPROFILE%\Documents\DrWatson\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Cookies\*.txt">nul 2>nul
del /f /q /s "%TEMP%\*.*">nul 2>nul
del /f /q /s "%Systemroot%\Prefetch\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Recent\*.*">nul 2>nul
del /f /q "%USERPROFILE%\Application Data\Microsoft\Office\Recent\*.lnk">nul 2>nul
del /f /q /s "%USERPROFILE%\Local Settings\Temp\*.*">nul 2>nul
rd /s /q %windir%\temp & md %windir%\temp>nul 2>nul
if not exist %SystemRoot%\Minidump\NUL del /f /q /s %SystemRoot%\Minidump\*.*>nul 2>nul
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*">nul 2>nul
3.計劃從周一到周六每天上午2:00執(zhí)行數據庫備份
at 2:00 /every:M,T,W,Th,F,S,Su cmd /c d:\Auto backup\autobackup.bat
(1)批處理autobackup.bat的腳本如下:
Isql格式:isql –Uusename –Ppassword –Sdatabase < sql腳本文件
代碼如下:
isql -Usa –Pbab1254 -SBABDB2 < d:\Auto backup\autobackup.spt
(2)數據庫腳本文件autobackup.spt內容如下:
use BABDB2
go
exec autobackup
go
/*
use BABDB2 =打開數據庫
exec autobackup=運行存儲過程autobackup
*/
(3)存儲過程代碼autobackup
CREATE PROCEDURE dbo.autobackup
AS
DECLARE @filename char(255)
DECLARE @tempchar1 char(255)
DECLARE @tempchar2 char(1)
DECLARE @tempchar3 char(14)
BEGIN
SELECT @tempchar1=value
FROM emg_systemtable
WHERE parameter="backup_path"
SELECT @tempchar2=value
FROM emg_systemtable
WHERE parameter="district"
SELECT @tempchar3=
datename(year,getdate())+"_"
+ltrim(str(datepart(month,getdate()),2,0))+"_"
+ltrim(str(datepart(day,getdate()),2,0))+".dat"
SELECT @filename=rtrim(@tempchar1)+rtrim(@tempchar2)+@tempchar3
DUMP DATABASE BABDB2 TO @filename
END
(4)這樣設置后,winnt4.0/2000/2003服務器就會每天半夜2:00自動備份數據庫sybase到指定的目錄中,按規(guī)則生成備份數據庫文件。
此方式可以自動備份mssql,mysql,Sybase,oracle…sql文件和存儲過程有點差別而己!根據自己的實際情況做一下更改即可。
4.取消計劃
列出當所有計劃:
at
取消所有計劃:
at /del /yes
取消單個計劃 如ID為2:
at 2 /del