XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\r\r
[/EXCLUDE:file1[+file2][+file3]...]

source 指定要複製的檔案。
destination 指定位置或者/以及新檔案的名稱。
/A 只複製設定成保存屬性的檔案,不要改變屬性的設定。
/M 只複製設定成保存屬性的檔案,並清除保存屬性。
/D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日期,
只複製那些來源檔案日期比目的檔案日期為新的檔案。
/EXCLUDE:file1[+file2][+file3]...
指定檔案清單字串。每個字串
應該在檔案中的不同行。如果有字串對應到要進行複製的檔案絕
對路徑的任何部分,這個檔案會被排除複製。例如,指定字串
\obj\ 或 .obj 的話,會排除所有在 obj 目錄下副檔名是
.obj 的檔案複製。
/P 在建立每個目的檔案時顯示提示。
/S 複製每個目錄及其包含的子目錄,不複製空目錄。
/E 複製每個目錄及其包含的子目錄,也複製空目錄。/S 與 /E
相同,能夠用來修改 /T。
/V 驗證每個新檔案。
/W 在複製之前提示您按鍵繼續。
/C 如果錯誤發生時也繼續複製。
/I 如果目的不存在且複製一個以上的檔案的話,就假設指定的
目的一定是目錄。
/Q 在複製時不要顯示檔名。
/F 在複製時顯示來源及目的檔案的全部檔名。
/L 顯示要複製的檔案。
/G 允許加密檔案複製到不支援加密的
目的地。
/H 時複製隱藏檔和系統檔。
/R 覆蓋唯讀檔案。
/T 建立目錄結構,但不複製其中的檔案。不包括空目錄及子目錄。
/T /E 會包括空目錄及子目錄。
/U 只複製已經存在目的位置的檔案。
/K 複製檔案屬性。通常 Xcopy 會重設唯讀的屬性。
/N 用所產生的短檔名來進行複製。
/O 複製檔案所有權及 ACL 資訊。
/X 複製檔案審查設定 (包含 /O)。
/Y 不要提示您確認是否要覆蓋一個已經存在的檔案。
/-Y 示您確認是否要覆蓋一個已經存在的檔案。
/Z 在可重新開始的模式中複製網路檔案。

參數 /Y 可以在 COPYCMD 環境變數中預先設定。但可以在命令列中用 /-Y 參數
來覆蓋原有設定。

備份用 XCOPY
xcopy 來源資料夾 目的資料夾 /S /D /Y 


測試用的option
/D/K/E/Y/C/I

1 參考:
http://www.computing.net/answers/programming/xcopy-log-needed/14504.html
============================
::== timer2.bat
@echo off
set start=%TIME%
call YOUR.BAT
echo started at %START%>logfile
echo done at %TIME%>>logfile
:: DONE

============================
2 參考:
http://blog.yslifes.com/archives/326
http://blog.yslifes.com/archives/172 日期目錄來做檢查及建立
============================
 

set yymmdd_hhmmss=d:\backup\%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2% 
set path=%path%;C:\Program Files\7-Zip 
md %yymmdd_hhmmss%\mysql 
xcopy /E /C /H /Y C:\MySQL\data %yymmdd_hhmmss%\mysql > %yymmdd_hhmmss%\mysql.txt 
7z a -scsUTF-8 -mx=9 %yymmdd_hhmmss%.7z %yymmdd_hhmmss%\* 
del /S /Q %yymmdd_hhmmss% 
rd /S /Q %yymmdd_hhmmss%

說明:

日期目錄的使用請參照:

dos指令-建立日期目錄

md 建立目錄

xcopy 複製資料到剛才建立的目錄裡,其中/E /C /H /Y 則是有任何錯誤繼續執行、不需請求回覆要求、包含子目錄及其內容等。

7z a 7-Zip的壓縮指令-scsUTF-8使用UTF-8編碼,-mx=9,使用最高壓縮比,當然時間會拉長。

del 刪除資料,但不包今資料夾,/S /Q包含子目錄的資料不管是否唯讀都刪除不需請求回覆要求。

rd 同上,只是它是刪除目錄

請依照自己的需求設定,然後存成*.bat檔就可以了(或*.cmd)

ps.

echo off 可以關閉dos視窗指令輸出的結果

> 可以把dos指令輸出console的內容另存到另一個檔案

功能說明

排程於每週六晚上 10 點利用備份批次檔 (videobk.bat),差異備份至遠端主機 backup 下的 Movie 資料夾內

  • rem 為批前檔內註解
  • 寫入指定的資料夾內而 Log 命名為當日 (ex.20060610)
    • %date:~0,4% -->2006 (取得目前年份)
    • %date:~5,2% -->06 (取得目前月份)
    • %date:~8,2% -->10 (取得目前日期)
  • 記錄開始備份、差異備份影片檔、結束備份等時間點均寫入 Log 內

 

videobk.bat 內容

 rem ----- 將開始備份時間寫入 log 紀錄中 -----
echo 開始備份 >> D:\Log\xcopy\%date:~0,4%%date:~5,2%%date:~8,2%.log
TIME /T >> D:\Log\xcopy\%date:~0,4%%date:~5,2%%date:~8,2%.log
rem ----- 開始備份所有影音檔 -----
rem /S 複製每個目錄及其包含的子目錄
rem /D 複製發生變更的檔案
rem /Y 所有覆蓋的詢問都回答 YES
xcopy D:\Movie \\backup\Movie /S /D /Y >> D:\Log\xcopy\%date:~0,4%%date:~5,2%%date:~8,2%.log
rem ----- 將結束備份時間寫入 log 紀錄中 -----
echo 結束備份 >> D:\Log\xcopy\%date:~0,4%%date:~5,2%%date:~8,2%.log
TIME /T >> D:\Log\xcopy\%date:~0,4%%date:~5,2%%date:~8,2%.log


 

rem 為了可以看到 表情符號實際的圖案, 將他改名 .gif , 改名失敗表示已經重複, 可以刪除

XCOPY "%USERPROFILE%\Application Data\Microsoft\MSN Messenger\1061698994\CustomEmoticons" "D:\CustomEmoticons\" /S /D /Y   >> D:\XCOPY.LOG 
REN D:\CustomEmoticons\*.dat *.gif
DEL D:\CustomEmoticons\*.dat 

rem 備份我的最愛      
XCOPY "%USERPROFILE%\Favorites"                                 "D:\Favorites\"  /S /D /Y    >> D:\XCOPY.LOG 

rem 備份 Outlook Express 通訊錄
XCOPY "%USERPROFILE%\Application Data\Microsoft\Address Book"   "D:\Address Book\"  /S /D /Y    >> D:\XCOPY.LOG 

rem Outlook Express 信件不在此備份, 直接在 [工具]下拉選單, [選項]選項, [維護]標籤, [郵件檔資料夾] 按鈕, 變更到其他地方 (例如 D:\Outlook Express 目錄), 省去備份時間

rem 備份個人資料 , 建議習慣不要將個人資料放在 [桌面][我的文件] 中, 免得系統重新安裝很麻煩
XCOPY D:\LU D:\LU\ /S /D /Y     >> D:\XCOPY.LOG 

rem 備份 Outlook 信件, 請先關閉 Outlook 
XCOPY "D:\Outlook"   "D:\Outlook\" /S /D /Y     >> D:\XCOPY.LOG 

rem 將日期時間輸出到 XCOPY.LOG, 可以知道何時執行結束
DATE /T    >> D:\XCOPY.LOG 
TIME /T    >> D:\XCOPY.LOG


====================================

參考以上連結:做出來的自已用的shell


 rem ----- 將開始備份時間寫入 log 紀錄中 -----
 md e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%\
 md e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\
 echo 開始備份 >> e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\%date:~0,4%%date:~5,2%%date:~8,2%.log

 TIME /T    >> e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\%date:~0,4%%date:~5,2%%date:~8,2%.log
 rem ----- 開始備份所有test -----
 rem /S 複製每個目錄及其包含的子目錄
 rem /D 複製發生變更的檔案
 rem /Y 所有覆蓋的詢問都回答 YES
 xcopy J:\ e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%\ /S /D /Y >> e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\%date:~0,4%%date:~5,2%%date:~8,2%.log
 rem ----- 將結束備份時間寫入 log 紀錄中 -----
 echo 結束備份 >> e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\%date:~0,4%%date:~5,2%%date:~8,2%.log
 TIME /T    >> e:\001_BackupOS\BackupUSB\%date:~0,4%%date:~5,2%%date:~8,2%_log\%date:~0,4%%date:~5,2%%date:~8,2%.log
pause




 

 

 

http://tw.myblog.yahoo.com/jw!XvQRwcSaHxn7fiVCYHU9/article?mid=1489

arrow
arrow
    全站熱搜

    右翼天使K 發表在 痞客邦 留言(0) 人氣()