2014年5月28日 星期三

用XCOPY指令做簡單本機備份

單純地在本機做備份,若不壓縮、不採雲端,有二種方式比較簡易,一是用軟體、二就自己寫囉。

用軟體我目前推薦QtdSync,功能不錯,還可搭配Linux做異地備援。
使用教學可參考:
寫得很清楚易懂。


若備份方式更單純些,可以自己用XCOPY指令寫。
寫指令很難嗎?不會,就三個步驟而已,非常簡單:

一、打開記事本,把下列二行複製貼上:

========複製以下========
xcopy "來源資料夾路徑" "目標資料夾路徑" /D/K/E/Y/C/I/H
shutdown.exe -s -t 15
========複製以上========

二、然後修改成實際來源及目標路徑,比如說來源改"C:\users\abc",而目標改為"E:\backup"。
三、改好後把這個文字檔案存在桌面,檔案名稱取為「備份後15秒關機.bat」

完成!
以後若想要備份,關機時按桌面這個新建好的批次檔即可。



最後附上XCOPY的指令說明給大家參考:

========以下為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] [/B]
                           [/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           在可重新啟動的模式中複製網路檔案。
  /B           複製符號連結本身而非連結的目標。
  /J           使用無緩衝的 I/O 複製,建議使用於非常大的檔案。

切換參數 /Y 可以在 COPYCMD 環境變數中預先設定。
這可以在命令列中使用 /-Y 加以覆寫。
========以上為XCOPY指令說明========

4 則留言:

  1. 哈囉,Tony哥,想請教您,目前我在CentOS桌面版要使用QtdSync,但將從網站上下載下來的檔案解壓縮成QtdSync成可執行檔後,點下去都沒有反應,不會跳出視窗,想請問,有什麼地方弄錯,或是少了什麼步驟嗎?

    回覆刪除
    回覆
    1. 你好,QtdSync Linux版的系統需求,官網說要:「Linux including rsync (and ssh)」,會不會是沒有rsync?

      刪除
  2. 請問要複製資料夾,篩選含某字串的方式備份要如何編寫?

    回覆刪除
  3. 在source處設定,試試「*關鍵字*」

    回覆刪除