在windows中利用xcopy來批次備份資料

自從硬碟便宜以後備分就顯得越來越重要了,誰知道哪天資料會隨著server一起去殉情,那時候就真的是欲哭無淚,所以來分享一下備份資料的小技巧。

還記得DOS那個年代可以下一些DOS指令嗎?沒錯,雖然現在可以用來備份的軟體很多,但是我還是偏愛指令啦 XD (一來免費,二來安心)

我最常用的方法就是使用這段指令:
xcopy 來源 目的 /s/d/y

然後把這段指令寫成一個bat的批次檔,接下來就可以將該批次檔掛在[控制台>排定的工作]中,然後讓他每天批次執行就可以了,一般我都喜歡排定在半夜2~5點之間進行,這樣才不會造成服務的影響,我想這大概是以前在網路公司呆久的壞毛病吧 XD

後面的參數涵義是:
/S 複製每個目錄及其包含的子目錄。
/D 複製發生變更的檔案。
/Y 所有覆蓋的詢問都回答 YES

完整的參數內容(從xcopy /?得知):
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 參數
來覆蓋原有設定。

本篇發表於 伺服器架設 與標籤於 anistar固定網址書籤。
本文引用:
文章內容為ANISTAR BLOG所有,引用分享請以鏈結形式註明出處與原始作者。

關於 anistar

現任:台灣區 Yahoo! 專長: Objective C、iOS SDK、Android SDK、Flex 4、RIA、ActrionScript 3、HTML5、CSS3、JQuery、JQuery Mobile、C++、PHP、MySQL...等整合運用。 著作:《Run!PC雜誌》專欄作家、《CADesigner雜誌》專欄作家、《Flash CS3 Professional ActionScript 3.0 打造互動設計力與美》、《新一代互動體驗Flex+AIR程式開發》。 認證:Macromedia Certified Instructor in ColdFusion    Adobe Certified Expert in Photoshop    Adobe Certified Instructor in Flex

9 則迴響於《在windows中利用xcopy來批次備份資料

  1. 通告: 在windows中利用xcopy來批次備份資料 | 數位生活.網路商城

  2. 通告: Batch FOR 兄弟 | nota

  3. =======
    anistar 說:
    另外若只需要特殊副檔名(例如doc檔),只需要下*.doc就可以了.
    =======
    我懂版大的意思,不過如果想複製的是同樣是.doc檔,但是檔名結尾是特定字.以xxxtry.doc xxxtry2.doc xxxtry3.doc為例,就是要複製try try2 try3結尾的.doc檔

  4. 最近打算來學一下備份,完全是個新手 = =
    不知可否請版大寫個具體範例,例如:
    xcopy 具體來源槽資料夾 目的槽資料夾 /s /k /y
    謝謝
    又如果說我只想複製某些特定檔名結尾,例如xxxtry.doc xxxtry2.doc xxxtry3.doc 請問該怎麼寫?

    • 例如你可以寫 xcopy c:\aaa d:\bbb /s/d/y (代表從C槽的aaa目錄複製到D槽bbb目錄).
      另外若只需要特殊副檔名(例如doc檔),只需要下*.doc就可以了.

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *