感謝 瑞毅哥哥的推薦使用!!(from 2019)
"Robocopy 好用的指令,複製檔案用"
「給點好用的情境和語法 謝謝」(小弟拜請大神開示)
"從雲端碟copy東東回來用他啦.不然會一直失敗。"
"比檔案總管的穩定很多"
"用這個指令是一個檔案一個檔案做"
"應該不用使用暫存空間" (待測試確認)
===>經實測使用robocopy 進行Google雲端備份時還是會使用到暫存空間,當暫存空間用盡時預設會暫停30秒 再續傳!!!(robocopy 作Google雲端備份的工具,最大的好處就是使命必達---預設值是重試一百萬次......但還是會有佇列暫存的空間成本和相對應的時間成本.......)
robocopy 來源 目的地 /e /xo /purge
robocopy K:\共用雲端硬碟\Music\01-Classical K:\我的雲端硬碟\music\ /e /xo /xa:sh /xj

參數e 是什麼?
xo xj 又是什麼?
xa:sh 更是讓人黑人問號中......
瑞哥哥又說
"如果覺得很複雜可以從 /mir 鏡像開始玩"
好多參數都沒用過 XD!!!
~~感謝新社第一帥哥 瑞哥哥的分享 長知識了!!!
robocopy 來源 目的地 /e /xo /purge
差異化備份
===============================
robocopy 來源 目的 /e /xo /purge
/e :代表複製子資料夾,含空的資料夾
/xo :排除較舊的檔案,意思是來源端沒有比目的端新時,就不複製(差異化備份,很重要的參數)
/purge :刪除來源中,不再存在的資料夾或檔案(這個也是差異化備份,很重要的參數)
鏡像備份
===============================
robocopy 來源 目的 /mir
/MIR :: 鏡像目錄樹(等同於 /E 和 /PURGE)。
/xa:sh :: 跳過屬性為 s (系統) 與 h (隱藏) 的檔案。
因為是複製整個硬碟,預設會連 Windows 隱藏的系統檔都複製過去,所以要排除。
/XJ :: 排除接合點。(預設情況下通常包括)
終於看懂了!!
===============================
robocopy K:\共用雲端硬碟\Music\01-Classical K:\我的雲端硬碟\music\ /e /xo /xa:sh /xj
排除較舊的檔案、跳過屬性為 s (系統) 與 h (隱藏) 的檔案、排除接合點....
robocopy 差異備份好用!還可以寫批次檔丟進「工作排程」定做時備份資料用!!!
Win10以後內建 robocopy ~~ 備份 我推薦用 robocopy
(查到的文件上是說 Vista以後的作業系統 就內建有這個好用的工具指令)
最常用的語法
robocopy 來源 目的地 /e /xo /purge
差異化備份
===============================
robocopy 來源 目的 /e /xo /purge
/e :代表複製子資料夾,含空的資料夾
/xo :排除較舊的檔案,意思是來源端沒有比目的端新時,就不複製(差異化備份,很重要的參數)
/purge :刪除來源中,不再存在的資料夾或檔案(這個也是差異化備份,很重要的參數)
BackupD(robocopy) 備份D槽!!(Shiyu 2020-02-13)(bug版)
===============================
echo 開始備份
rem /e 代表複製子資料夾,含空的資料夾
rem /xo 排除較舊的檔案,意思是來源端沒有比目的端新時,就不複製(差異化備份,很重要的參數)
rem /purge 刪除來源中,不再存在的資料夾或檔案(這個也是差異化備份,很重要的參數)
rem /xa:sh 跳過屬性為 s (系統) 與 h (隱藏) 的檔案
rem /xj 排除接合點....
rem /xd $RECYCLE.BIN "System Volume Information" 排除掉 這兩個資料夾
rem robocopy 差異備份好用!還可以寫批次檔丟進「工作排程」定做時備份資料用!!!
rem Shiyu 2020-02-13
robocopy D:\ G:\我的雲端硬碟\學校電腦D磁碟備份\ /e /xo /xa:sh /xj
echo 備份完畢
pause
"用copy或Xcopy指令的方式來作檔案的拷貝。如果在您的資料夾下,有比較特殊的檔名或太多層的資料夾深度,那這些常見的拷貝也許就會失敗,尤其一次要拷貝很多檔案時,更容易會因單一檔案失敗而造成需重頭來過。" ~~ [IT FARMER 資訊農夫]
http://gemmy886.blogspot.com/2011/10/robocopy.html
實際測試這個上面D槽的備份檔,發現有Bug
發現第一次執行 ~~ 只會複製 D:\ 根目錄的檔案 而不會複製 資料夾的內容
然後會出現「$RECYCLE.BIN」存取被拒的錯誤 ~~

第二次執行 會開始 複製 資料夾的內容,但最後會出現「Sytem Volume Information 」存取被拒 的錯誤 ~~

第三次以後執行,才會正常!!

(備份過程中產生的這兩個資料夾建議不要刪掉!!)
原因不明 ~~ 尷尬!!
之前我用robococpy 都是差異備份資料夾為主,第一次差異備份整個硬碟.....嘿!!居然有Bug ~~
若您介意的話也可以服用 林和志老師 xcopy 的批次檔來備份D槽!!
BackupD(xcopy) 備份D槽!!(林和志老師)
===============================
echo 開始備份
rem /S 複製每個目錄及其包含的子目錄
rem /D 複製發生變更的檔案
rem /Y 所有覆蓋的詢問都回答 YES
rem xcopy D:\ 代表要上傳檔案的位置
rem xcopy D:\ G:\我的雲端硬碟\學校電腦D磁碟備份 代表存放位置,如果雲端不是在G: 可自行修改磁碟機代號即可上傳
xcopy D:\ G:\我的雲端硬碟\學校電腦D磁碟備份 /S /D /Y
echo 備份完畢
pause
參考了網路上的文件 找到 解決的方法了!!喔耶!!
https://www.tenforums.com/general-support/105420-robocopy-exclude.html
BackupD(robocopy) 備份D槽!!(Shiyu 2020-02-14)(修正版)(鏡像)(強迫檔案一致性)
===============================
echo 開始備份
rem /e 代表複製子資料夾,含空的資料夾
rem /xo 排除較舊的檔案,意思是來源端沒有比目的端新時,就不複製(差異化備份,很重要的參數)
rem /purge 刪除來源中,不再存在的資料夾或檔案(這個也是差異化備份,很重要的參數)
rem /xa:sh 跳過屬性為 s (系統) 與 h (隱藏) 的檔案
rem /xj 排除接合點....
rem /xd $RECYCLE.BIN "System Volume Information" 排除掉 這兩個資料夾
rem /ETA 顯示複製檔的預期到達時間
rem /R:1000000 /W:30 是預設值(重試百萬次 間隔 30秒) 網友建議可改成 /R:5 /W:10 (重試五次 每次等10秒)
rem /MT:8 是多線程複製的預設值,機器夠快建議可以調大一點 再測測看!!例如 /MT:100(表示使用100個執行緒來跑robocopy) (注意MT的最小值是1最大值是128)
rem /xf *.tmp *.bak 排除tmp和bak的檔案
rem /max:1073741824 僅複製不大於1073741824 bytes的文件,/max:後直接接數值,數值單位為byte (1 Gigabytes = 1073741824 Bytes)(120 Megabytes = 125829120 Bytes)(50 Megabytes = 52428800 Bytes)(排除大文件)
rem /min:1073741824 僅複製不小於1073741824 bytes的文件,/min:後直接接數值,數值單位為byte (1 Gigabytes = 1073741824 Bytes)(排除小文件)
rem /s *.pptx *.docx *.xlsx /maxage:7 /minage:1 最近七天內不包含今天修改的文件才允許被複製
rem /s *.pptx *.docx *.xlsx /maxage:20191225 /minage:2020210 複製20191225到20200210 這段日期間的檔案
rem /unicode 畫面上複製的進度資訊以 unicode 顯示,這個選項可以讓正在進行「不是中英文的檔名」(如日文的檔名 )的複製進度變顯示正常。這個選項並不會影響檔案複製、移動等操作,只是差別在畫面顯示的正確與否。
rem robocopy D:\ G:\我的雲端硬碟\OO電腦D磁碟備份\ /e /xo /xa:sh /xj /xd $RECYCLE.BIN "System Volume Information" /unicode /xf *.tmp *.temp (不強迫檔案一致性)
rem robocopy D:\ G:\我的雲端硬碟\OO電腦D磁碟備份\ /e /xo /xa:sh /xj /xd $RECYCLE.BIN "System Volume Information" /unicode /xf *.tmp *.temp /purge (鏡像)
rem robocopy 差異備份好用!還可以寫批次檔丟進「工作排程」定做時備份資料用!!!
rem Shiyu 2020-02-13~2020-02-14
robocopy D:\ G:\我的雲端硬碟\OO電腦D磁碟備份\ /R:5 /W:10 /MT:100 /e /xo /xa:sh /xj /xd $RECYCLE.BIN DriveFS "System Volume Information" /ETA /unicode /xf *.tmp *.temp /purge
echo 備份完畢
pause
Shiyu 2020-02-13~14 測試於二重國小
【排除120MB以上的大檔】
robocopy D:\ G:\我的雲端硬碟\OO電腦D磁碟備份\ /R:5 /W:10 /MT:100 /e /purge /xo /xa:sh /xj /xd $RECYCLE.BIN DriveFS "System Volume Information" /ETA /xf *.tmp *.temp /max:125829120 /unicode【排除1GB以上的大檔】
robocopy D:\ G:\我的雲端硬碟\OO電腦D磁碟備份\ /R:5 /W:10 /MT:100 /e /purge /xo /xa:sh /xj /xd $RECYCLE.BIN DriveFS "System Volume Information" /ETA /xf *.tmp *.temp /max:1073741824 /unicode工作排程結合批次擋!!(Shiyu 2020-02-15)
===============================
之前有想試用 SYSTEM 系統帳號在工作排程器上來執行批次檔,但失敗了!!
那就用這台電腦的帳號來執行吧!! (山不轉、路轉啊!!嘿嘿嘿)
登入後,先等待一分鐘(延遲) 然後每10分鐘以最高權限來自動執行 02-BackupD-Purge.bat




錯誤的批次檔名!!(會造成排程工作失敗 0x1 路徑名稱錯誤)

批次檔(bat)的檔名不要有特殊符號也不建議用中文檔案(不可以用大、小括號....但可以用- 和_ 這兩個字元),不然工作排程器很容易就會出現執行錯誤(錯誤代碼 0x1)
BackupD(robocopy-01)(鏡像)(強迫檔案一致性purge)(排除120MB以上的檔案).bat
BackupD(robocopy-02)(鏡像)(強迫檔案一致性purge).bat
BackupD(robocopy-03)(不強迫檔案一致性)(without purge).bat
以上三個批次檔,都可以直接點擊執行。但若想搭工作排程器 都會失敗!!
建議檔名可改成如下範例
01-BackupD-Purge-Max120MB.bat
02-BackupD-Purge.bat
03-BackupD-WithoutPurge.bat
Shiyu 2020-02-14 西洋情人節 ~~ 2020-02-15 The Day after 2020 Valentine Day
感謝新社一哥 瑞毅老師的建議


Shiyu 覺得robococpy 多執行緒 MT的最小值是1 預設值印象中是8 最大值是128 若採用MT 100 使用100個執行緒 備份速率肯定會比Xcopy 快很多!!
參考文件
[IT FARMER 資訊農夫] Robocopy高速同步備份、複製、移動大量檔案
http://gemmy886.blogspot.com/2011/10/robocopy.html
Bytes to MB Conversion
https://www.gbmb.org/bytes-to-mb
Bytes to Megabytes
https://convertlive.com/u/convert/bytes/to/megabytes
[數位世界] Robocopy 指令範例參考
https://blog.xuite.net/dragonfly_7252/computer/223236655-Robocopy+%E6%8C%87%E4%BB%A4%E7%AF%84%E4%BE%8B%E5%8F%83%E8%80%83+%28MIR%E5%95%8F%E9%A1%8C%E5%BE%88%E5%A4%9A%EF%BC%8C%E5%B0%8F%E5%BF%83%E4%BD%BF%E7%94%A8%29
#robocopy
#雲端硬碟
#檔案管理
#Windows
#差異化備份
沒有留言:
張貼留言