用批次檔BAT指令XCOPY執行備份的功能介紹
用批次檔BAT指令XCOPY執行備份的功能介紹
指令詳解: XCOPY source [destination] [/A | /M] [/D[:date] [/P] [/S [/E] [/V] [/W] [/C] [/Q] [/F] [/L] [/H] [/R] [/T] [/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 顯示要複製的檔案。 /H 時複製隱藏檔和系統檔。 /R 覆蓋唯讀檔案。 /T 建立目錄結構,但不複製其中的檔案。不包括空目錄及子目錄。/T /E 會包括空目錄及子目錄。 /U 只複製已經存在目的位置的檔案。 /K 複製檔案屬性。通常 Xcopy 會重設唯讀的屬性。 /N 用所產生的短檔名來進行複製。 /O 複製檔案所有權及 ACL 資訊。 /X 複製檔案審查設定 (包含 /O)。 /Y 不要提示您確認是否要覆蓋一個已經存在的檔案。 /-Y 示您確認是否要覆蓋一個已經存在的檔案。 /Z 在可重新開始的模式中複製網路檔案。 參數 /Y 可以在 COPYCMD 環境變數中預先設定。但可以在指令行中用/-Y 參數來覆蓋原有設定。 ------------------------------------------------------------------------------------------ 範例一: 微軟作業系統內建指令XCOPY備份功能介紹 您是否曾遇到硬碟或隨身碟故障,導致檔案損壞的情況,此時才後悔沒備份。 但備份工作既耗時又常碰到問題,有時備份到一半出現錯誤訊息,到底備份多少也不知道,還要重來! 因此,介紹一個具有以下特色的備份方法。 不需購買或安裝軟體 可完全備份或只備份日期較新的檔案 備份的檔案如損壞可以跳過繼續備份其它檔案 可利用系統排程做定時備份 設計原理 建立一個批次執行檔(bat),裡面放一行Windows所提供的XCOPY指令,再加入適當的參數就可以輕鬆完成備份工作。 操作流程 1.執行記事本:點選[程式集]/[附屬應用程式]/[記事本] 2.輸入以下指令(可用複製/貼上功能再自行修改內容) XCOPY . D:\隨身碟備份\ /D/K/E/Y/C/I/H 指令:XCOPY 來源:點號 . ,表示複製此批次執行檔所存放位置的所有檔案。 目的:D:\隨身碟備份\,表示複製到目的地為D碟的[隨身碟備份]資料夾內。 參數:/D/K/E/Y/C/I/H 註: /D只複製比目的檔還新的檔案, /K複製後檔案屬性不變, /E包含子目錄, /Y不要求確認, /C錯誤發生也繼續, /I目的不存在就建立資料夾, /H複製隱藏檔和系統檔。 3.將檔案存在您要備份的磁碟機或資料夾內(一定要切換存檔類型為所有檔案,且副檔名一定要輸入.bat)。 4.用檔案總管點兩下執行設計完成的批次檔(bat檔),開始進行備份工作。 5.往後要做備份,只要點兩下此批次檔即可,且備份速度比第一次快很多哦!(因為它只拷貝比目的檔還新的檔案) Windows XP排程設計 以上提供的是半自動的備份方法,如果要完成全自動定時做備份的工作可以利用Windows內建的[排定的工作],定時執行我們所建立的批次執行檔(bat),完成定時備份的功能。操作流程如下: 操作流程 1.開啟[程式集]/[附屬應用程式]/[系統工具]/[排定的工作]。 2.點選[下一步] 。 3.按[瀏覽]挑選我們設計好要備份用的批次檔。 4.挑選工作執行的方式,例如:每日、每週、每月。 5.輸入開始時間。 6.輸入此電腦開機時所使用的帳號及密碼。 7.完成。 ----------------------------------------------------------------------------------------------- 範例二: 使用XCOPY依日期備份到不同資料夾的方法 現在的硬碟空間越來越大,因此備份檔案時,如果能依日期的不同備份到不同的資料夾,在拯救檔案時將更具有彈性。 操作流程 1.開啟[程式集]/[附屬應用程式]/[記事本] 2.輸入以下兩行指令(可用複製/貼上功能再自行修改內容) FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (SET _today=%%a%%b%%c) XCOPY . D:\%_today% /D/K/E/Y/C/I/H 程式說明: REM 去掉有分隔符號的日期資料放在_today變數 FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (SET _today=%%a%%b%%c) REM 備份檔案到D碟今天的日期資料夾內 XCOPY . D:\%_today% /D/K/E/Y/C/I/H FOR /F 是指將後面 %date% 環境變數的值拿來做循環處理。 "tokens=1-3 delims=/ " 表示利用「/」與「 」(空白)這兩個分割符號來切割 %date% 環境變數的值,取得順序 1 ~ 3 的字串。 %%a 是指切割出來順序 1 的字串給 %%a 變數,順序 2 的字串給 %%b,其它依此類推。 DO 後面指定 _today 變數,它的內容是由 %%a%%b%%c 所構成。 假如 %date% 環境變數的值為: 2013/08/08星期二,經過程式的切割處理就變成:20130808 3.將檔案存在您要備份的磁碟機或資料夾內(一定要切換存檔類型為所有檔案,且副檔名一定要輸入.bat)。 4.用檔案總管點兩下即可執行設計完成的批次檔(bat檔),開始進行備份工作。 相關程式說明 REM去除有分隔符號的時間資料放在_mytime變數 FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (SET _mytime=%%a%%b%%c%%d) echo %_mytime% 程式說明:假如 %time% 環境變數的值為: 15:13:31.21,經過程式的切割處理就變成:15133121 REM刪除D碟BACKUP資料夾內所有檔案及目錄 RD /S/Q D:\BACKUP 參數說明如下: /S 一併刪除指定目錄裡的所有目錄和檔案 /Q 不再要求確認刪除 |
留言
張貼留言