<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UI 網站 &#187; robocopy</title>
	<atom:link href="http://ui.idv.tw/wordpress/?feed=rss2&#038;tag=robocopy" rel="self" type="application/rss+xml" />
	<link>https://ui.idv.tw/wordpress</link>
	<description>個人雜亂筆記用</description>
	<lastBuildDate>Wed, 15 Oct 2025 10:08:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>robocopy 拷貝複製</title>
		<link>https://ui.idv.tw/wordpress/?p=432</link>
		<comments>https://ui.idv.tw/wordpress/?p=432#comments</comments>
		<pubDate>Fri, 24 Aug 2018 14:00:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[robocopy]]></category>

		<guid isPermaLink="false">http://ui.idv.tw/wordpress/?p=432</guid>
		<description><![CDATA[ex:1 robocopy "\\192.168.0.254\sahre" "e:" /e /xo /purge /R:0 /W:0 /log+:c:\log\backup_log.txt /xd "@Recycle" ".syncing_db" ex:2 (只產生 bad_log) robocopy "\\192.168.0.254\sahre" "e:\Databackup\share" /mir /copyall /tee /nfl /ndl /R:0 /W:0 /mt:10 /log+:c:\log\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log /xd "#recycle" "#snapshot" /xf "thumbs.db" /e 空白目錄 /xo排除較舊檔案 /purge 刪除來源 /R:n :: &#8230; <a href="https://ui.idv.tw/wordpress/?p=432">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ex:1<br />
robocopy "\\192.168.0.254\sahre" "e:" /e /xo /purge /R:0 /W:0 /log+:c:\log\backup_log.txt /xd "@Recycle" ".syncing_db"<br />
ex:2 (只產生 bad_log)<br />
robocopy "\\192.168.0.254\sahre" "e:\Databackup\share" /mir /copyall /tee /nfl /ndl /R:0 /W:0 /mt:10 /log+:c:\log\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.log /xd "#recycle" "#snapshot" /xf "thumbs.db"</p>
<p>/e 空白目錄 /xo排除較舊檔案 /purge 刪除來源  /R:n :: 失敗副本的重試次數: 默認為 1 百萬。/W:n :: 兩次重試間的等待時間: 默認為 30 秒。/LOG+:文件:: 將狀態輸出到日誌檔(附加到現有日誌中)。/xd 排除目錄<br />
/nfl ::不產生 file_list /ndl ::不產生 directory_list  /copyall ::拷貝全部屬性時間   /TEE ::輸出至主控台視窗，以及記錄檔。/NP :: 無進度 &#8211; 不顯示複製百分比。</p>
<p>robocopy 很好用, win7以上就支援了, 但是備份的時候會造成目錄隱藏, 很不方便.<br />
因此備份的時候請加上這個/A-:SH參數</p>
<p>"/MT" 指的是通道數量，一般而言設定100就夠了。另還可替換以下功能：<br />
"/S" (複製模式) 包含子目錄一併複製，但空目錄除外<br />
"/MOVE" (移動模式) 移動來源到目的，並刪除來源<br />
E:\ :: 檔案來源 硬碟 E:<br />
U:\ :: 檔案目的地 硬碟 U:<br />
/e :: 複製所有的子資料夾，包含空的資料夾。<br />
/dcopy:t :: 保留所有檔案與資料夾的時間戳記。<br />
/xo :: 如果已有相同的檔案，且時間相同或較舊就跳過。注意不是零 -:)<br />
/xa:sh :: 跳過屬性為 s (系統) 與 h (隱藏) 的檔案。因為是複製整個硬碟，預設會連 Windows 隱藏的系統檔都複製過去，所以要排除。<br />
/xj :: 跳過 NTFS junction 檔案，關於 junction 請參考這篇文章。<br />
/unicode :: 畫面上的進度資訊以 unicode 顯示，若是操作非中文及英文檔名，這參數可以正確顯示名稱。有無開啟並不影響檔案複製、移動等操作，只是差在畫面顯示正不正確。<br />
/eta :: 顯示預計完成時間。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
@echo off<br />
REM 依日期設定 log 檔名<br />
for /f "tokens=1-4 delims=-/ " %%i IN ("%date%") DO (<br />
set year=%%i<br />
set month=%%j<br />
set day=%%k<br />
)</p>
<p>SET fname=%year%-%month%-%day%<br />
SET fname=%fname: =0%<br />
SET fname=D:\web-sync\log\%fname%.txt</p>
<p>REM 刪除網路資料夾 \\192.168.0.123\test 的連接(這邊註解不執行)<br />
REM net use \\192.168.0.123\test /d</p>
<p>REM 建立網路資料夾 \\192.168.0.123\test 的連接，xyz為帳號，1234為密碼<br />
net use \\192.168.0.123\test /user:192.168.0.123\xyz 1234</p>
<p>REM 1.使用 robocopy 將遠端 \\192.168.0.123\test 的資料夾同步到 C:\aaa<br />
REM 2./MIR，複製子目錄(含空目錄)，刪除已經不存在的目錄、檔案<br />
REM 3./R:n，失敗複本的重試次數: 預設值是 1 百萬次。<br />
REM 4./LOG+:檔案，將 log 記錄到檔案(附加模式)<br />
REM 5./XF，排除不同步的檔案<br />
robocopy "\\192.168.0.123\test" "C:\aaa" /MIR /R:0 /LOG+:%fname% /XF *.bat<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
#robocopy實現源文件夾內容完全COPY到目標文件夾中，並在指定目錄中生成日記文件！<br />
For /F %%i In (&#8216;date /t&#8217;) do ren i:\RobocopyLogs\exchange.log exchange%%i.log<br />
#用FOR循環實現對生成的日記文件名改名，以當天的日期做爲你的文件名，便於查看，也便於下面的FORFILES的執行！</p>
<p>start i:\automail1.vbs<br />
#automail1.vbs實現的是執行完備份操作後發一封郵件，以保證備份的正常結束！</p>
<p>forfiles /p i:\RobocopyLogs /m *.log -d -7 /c "cmd /c del /f @path"<br />
#用forfiles刪除七天前的日記文件，以免日記文件過大，佔用過多的磁盤空間!<br />
最新能發郵件的腳本</p>
<p>NameSpace = "http://schemas.microsoft.com/cdo/configuration/"<br />
Set Email = CreateObject("CDO.Message")<br />
Email.From = "******@sina.com"<br />
Email.To = "*******@sina.com"<br />
Email.Subject = "Test sendmail.vbs"<br />
Email.Textbody = "OK!"<br />
&#8216;Email.AddAttachment "C:\foo.zip"<br />
With Email.Configuration.Fields<br />
.Item(NameSpace&#038;"sendusing") = 2<br />
.Item(NameSpace&#038;"smtpserver") = "smtp.sina.com"<br />
.Item(NameSpace&#038;"smtpserverport") = 25<br />
.Item(NameSpace&#038;"smtpauthenticate") = 1<br />
.Item(NameSpace&#038;"sendusername") = "**********"<br />
.Item(NameSpace&#038;"sendpassword") = "**********"<br />
.Update<br />
End With<br />
Email.Send<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
robocopy errorlevel 錯誤 表可加在 bat 後<br />
if errorlevel 16  echo  ***FATAL ERROR***  &#038; goto end<br />
if errorlevel 15  echo FAIL MISM XTRA COPY &#038; goto end<br />
if errorlevel 14  echo FAIL MISM XTRA      &#038; goto end<br />
if errorlevel 13  echo FAIL MISM      COPY &#038; goto end<br />
if errorlevel 12  echo FAIL MISM           &#038; goto end<br />
if errorlevel 11  echo FAIL      XTRA COPY &#038; goto end<br />
if errorlevel 10  echo FAIL      XTRA      &#038; goto end<br />
if errorlevel  9  echo FAIL           COPY &#038; goto end<br />
if errorlevel  8  echo FAIL                &#038; goto end<br />
if errorlevel  7  echo      MISM XTRA COPY &#038; goto end<br />
if errorlevel  6  echo      MISM XTRA      &#038; goto end<br />
if errorlevel  5  echo      MISM      COPY &#038; goto end<br />
if errorlevel  4  echo      MISM           &#038; goto end<br />
if errorlevel  3  echo           XTRA COPY &#038; goto end<br />
if errorlevel  2  echo           XTRA      &#038; goto end<br />
if errorlevel  1  echo                COPY &#038; goto end<br />
if errorlevel  0  echo    –no change–    &#038; goto end<br />
:end</p>
]]></content:encoded>
			<wfw:commentRss>https://ui.idv.tw/wordpress/?feed=rss2&#038;p=432</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>robocopy shell 應用</title>
		<link>https://ui.idv.tw/wordpress/?p=318</link>
		<comments>https://ui.idv.tw/wordpress/?p=318#comments</comments>
		<pubDate>Tue, 29 Sep 2015 18:30:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[robocopy]]></category>

		<guid isPermaLink="false">http://ui.idv.tw/wordpress/?p=318</guid>
		<description><![CDATA[robocopy可以產生Log，看備份資料新增(New)、修改(Newer)、刪除(*EXTRA) robocopy \\電腦A\資料夾 G:\備份\資料夾 /MIR /COPYALL /NDL /NP /LOG:G:\Robolog\robolog%date:~0,4%%date:~5,2%%date:~8,2%.txt 產生檔名: robolog20120223.txt &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; robocopy 配合 bat 檔指令就可達到所需功能，範例如下： @for /f "usebackq tokens=1,2*" %%i in (`robocopy /mir /l /njh /njs /fp /ndl /ns "Folder-A" "Folder-B"`) do @( if "%%i"=="Newer" ( @echo %%j 有變更 &#8230; <a href="https://ui.idv.tw/wordpress/?p=318">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>robocopy可以產生Log，看備份資料新增(New)、修改(Newer)、刪除(*EXTRA)</p>
<p>robocopy \\電腦A\資料夾 G:\備份\資料夾 /MIR /COPYALL /NDL /NP /LOG:G:\Robolog\robolog%date:~0,4%%date:~5,2%%date:~8,2%.txt</p>
<p>產生檔名:<br />
robolog20120223.txt</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
robocopy 配合 bat 檔指令就可達到所需功能，範例如下：<br />
@for /f "usebackq tokens=1,2*" %%i in (`robocopy /mir /l /njh /njs /fp /ndl /ns "Folder-A" "Folder-B"`) do @(<br />
if "%%i"=="Newer" (<br />
@echo %%j 有變更<br />
copy "%%j" "Folder-C"<br />
) else (<br />
if "%%i"=="*EXTRA" (<br />
@echo %%k 要刪除<br />
copy "%%k" "Folder-D"<br />
) else (<br />
@echo %%k 新增的<br />
copy "%%k" "Folder-C"<br />
)<br />
)<br />
)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
ezdoc 說：<br />
另回應用robocopy做免錢的每日備份方式, 每月第一天做全備份，其它天只備份有修改的檔案，並備份到用日期命名的目錄中，只要備份空間夠大，要留多久都可以。參考 bat 檔如下</p>
<p>for /F "tokens=*" %%t in ("%date%") do (<br />
for /F "delims=-/ tokens=3&#8243; %%m in ("%%t") do (<br />
for /F %%n in ("%%m") do (<br />
IF "%%n"=="01&#8243; (<br />
echo &#8212; FULL &#8212;<br />
robocopy "X:\Source Folder" "Y:\Backup Folder\Full %%t" /M /E /ZB<br />
robocopy "X:\Source Folder" "Y:\Backup Folder\Full %%t" /E /ZB<br />
) ELSE (<br />
echo &#8212; PART &#8212;<br />
robocopy "X:\Source Folder" "Y:\Backup Folder\Part %%t" /M /E /ZB<br />
)<br />
)<br />
)<br />
)</p>
]]></content:encoded>
			<wfw:commentRss>https://ui.idv.tw/wordpress/?feed=rss2&#038;p=318</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
