close

引用自 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 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 daimom 的頭像
    daimom

    緣分

    daimom 發表在 痞客邦 留言(0) 人氣()