引用自 http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=682&start=15 及 http://www.ithome.com.tw/itadm/article.php?c=47779
%USERPROFILE% 環境變數, 它代表 "C:\Documents and Settings\(使用者登入帳號)"
%username% 環境變數 代表使用者 C:\Documents and Settings\ %username%
常用的批次指令 |
|||
指令 | 說明 | 範例 | 範例說明 |
echo | 顯示此命令後的字元 | echo 結束 | 系統將顯示「結束」 |
call | 呼叫另一個批次檔 | call a.bat | 系統執行a.bat的內容 |
pause | 暫停批次處理的執行,待使用者按任意鍵後繼續。 | Pause | 螢幕顯示「Press any key to continue...」的提示,待使用者按任意鍵後繼續 |
rem | 註解,不執行。 | ||
if [not] "參數" =="字串" | 參數如果等於(not表示不等於)指定的字串,則執行命令,否則執行下一行指令。 | if "%1"=="a" format a: | 如果使用者輸入的第一個參 數是”a”,就格式化a槽磁碟 |
if [not] exist[路徑\]檔案名 待執行的命令 | 如果指定的檔案存在,則執行指定的指令 | if exist c:\a.bat type c:\a.bat |
如果c磁碟機存在a.bat檔,則顯示它的內容 |
if errorlevel<數字> 待執行的命令 | 許多DOS程式在執行結束後,會回傳一個數字,表示執行的結果或狀態,運用if errorlevel 可以判斷程式的回傳值,決定後續執行的指令 | if errorlevel 0 goto success …(略) :success echo 成功 |
如果系統回傳值為0,則跳至success標籤,顯示「成功」 |
goto | 批次檔執行到goto將跳到指定的標籤 | goto end …(略) :end
echo 結束 |
執行end標籤包含的指令,顯示「結束」 |
choice | 讓用戶輸入一個字元,選擇後續執行的方向。常搭配if errorlevel使用 | choice /c:ync Yes, No, or Continue | 螢幕將顯示:Yes, No, or Continue [Y,N,C]? |
iThome整理,2008年2月 |
---------------------------------------------------------------
rem ----- 檔案名稱 : BACKUP.BAT -------------------------------------------------------
rem ----- 用途 : 利用 XCOPY 和 .BAT 功能做備份 ----------------------------------------
rem ----- 將 BACKUP.BAT ?#91;入 系統排?#123; ( 可以手動?#91;入 [?#125;始][?#123;式集][啟動] 中 ) ------
rem at 23:00 /every:s,m,t,w,th,f,sa "d:\LU\BACKUP.bat"
rem ----- XCOPY 用法 可用 "XCOPY /?" 查詢 ---------------------------------------------
rem XCOPY 差異備份常用參數
rem /D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日期,只複製那些來源檔案日期比目的檔案日期為新的檔案。
rem /H 時複製隱藏檔和系統檔。
rem /I 如果目的不存在且複製一個以上的檔案的話,就假?#93;指定的目的一定是目錄。
rem /S 複製每個目錄及其?#93;含的子目錄,不複製空目錄。
rem /E 複製每個目錄及其?#93;含的子目錄,?#93;複製空目錄。/S 與 /E 相同,能夠用來修改 /T。
rem /Y 不要提示您確定是否要覆蓋一個已經存在的檔案。
rem ----- 增?#91; route 資料, 廢除 ---------------
rem route add 140.127.177.17 192.168.0.2
rem ----- 將?#125;始備份時間寫入 log 紀錄中 -----------------------------------------------------------------------
rem %date% 表示日期環境變數, %date:~0,4% 表示 日期環境變數中從第 0 個位置抓出 4 個字
echo %date:~0,4%%date:~5,2%%date:~8,2% 網頁資料備份紀錄檔 > D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
echo 始備份時間 >> D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
TIME /T >> D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
rem ------ [完整備份] 將網站資料備份到 以 日期為目錄名稱 的目錄中 --------------------------------------------------------
rem xcopy c:\inetpub D:\Backup\%date:~0,4%%date:~5,2%%date:~8,2% /h /i /s /k /o /y >> D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
rem ----- [差異備份] 備份 MSN 表情符號, 改名成 .gif 方便?#91;看, 更名失敗表示重複, 可刪除
XCOPY "C:\Documents and Settings\lu\Application Data\Microsoft\MSN Messenger\1061698994\CustomEmoticons" "D:\CustomEmoticons" /D /H /I /S /Y
REN D:\CustomEmoticons\*.dat *.gif
DEL D:\CustomEmoticons\*.dat
rem ------ [差異備份] 備份 MSN 表情符號 到 File Server 的個人備份區
XCOPY D:\CustomEmoticons Z:\CustomEmoticons\ /D /H /I /S /Y
rem ------ [差異備份] 備份 我的最愛 到自己的 D: 磁碟 --------------------------------------------------------------
rem 使用 %USERPROFILE% 環境變數, 它代表 "C:\Documents and Settings\(使用者登入帳號)"
XCOPY %USERPROFILE%\Favorites "z:\Favorites\" /D /H /I /S /Y
rem XCOPY "C:\Documents and Settings\lu\Favorites" "D:\Favorites\" /D /H /I /S /Y
rem ------ [差異備份] 備份 Outlook Express 6.x 通訊錄 到自己的 D: 磁碟 -------------------------------------------------------------------
XCOPY "%USERPROFILE%\Application Data\Microsoft\Address Book" "D:\Address Book\" /D /H /I /S /Y
rem XCOPY "C:\Documents and Settings\lu\Application Data\Microsoft\Address Book" "D:\Address Book\" /D /H /I /S /Y
rem ------ [差異備份] 備份 我的最愛 到 File Server 的個人備份區 -----------------------------------------------------------
XCOPY %USERPROFILE%\Favorites "z:\Favorites\" /D /H /I /S /Y
rem XCOPY "C:\Documents and Settings\lu\Favorites" "z:\Favorites\" /D /H /I /S /Y
rem ------ [差異備份] 備份 Outlook Express 6.x 通訊錄 到 File Server 的個人備份區 -----------------------------------------------------------
XCOPY "%USERPROFILE%\Application Data\Microsoft\Address Book" "z:\Address Book\" /D /H /I /S /Y
rem XCOPY "C:\Documents and Settings\lu\Application Data\Microsoft\Address Book" "z:\Address Book\" /D /H /I /S /Y
rem ----- [壓縮完整備份] 將 D:\lu 用 WinRAR 壓縮放在 d:\lu.rar 或 d:\日期.rar ----------------------
rem WinRar 是商業軟體, 網?#125; http://www.rarsoft.com/
rem c:\progra~1\winrar\rar a -r d:\lu.rar d:\lu\*
rem c:\progra~1\winrar\rar a -r d:\%date:~0,4%%date:~5,2%%date:~8,2%.rar d:\lu\*
rem "C:\Program Files\WinRar\rar a -r d:\%date:~0,4%%date:~5,2%%date:~8,2%.rar d:\lu\*
rem ----- [壓縮完整備份] 將 D:\lu 用 7-zip 壓縮 ----------------------
rem 7-Zip 是免費軟體, 網?#125; http://www.7-zip.org/
rem "C:\program Files\7-zip\7z" a -r c:\%date:~0,4%%date:~5,2%%date:~8,2%.7z d:\lu\*.*
rem 壓縮成為 .zip 格式
rem "C:\program Files\7-zip\7z" a -r -tzip c:\%date:~0,4%%date:~5,2%%date:~8,2%.zip d:\lu\*.*
rem ----- 差異備份, 異動檔案輸出到 1.log -----
rem XCOPY D:\LU Z:\LU\ /D /H /I /S /Y >> c:\1.log
XCOPY D:\LU Z:\LU\ /D /H /I /S /Y
rem ------ 備份 Outlook 信件 -------------------------------------------------
rem echo 請先關閉 Outlook , 否則 Outlook 信件無法備份
rem pause
XCOPY "D:\Outlook" "z:\Outlook\" /D /H /I /S /Y
rem ------ 備份 hosts 檔案 -------------------------------------------------
XCOPY C:\WINDOWS\system32\drivers\etc\hosts z:\ /D /H /I /S /Y
rem ------ 輸出備份完成時間 -----------------------------------------------
echo 結束備份時間 >> D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
TIME /T >> D:\Backup\log\%date:~0,4%%date:~5,2%%date:~8,2%.log
留言列表