robocopy – 備份小工具

 

robocopy 是 Windows 2003 Resource Kit Tools 裡的小工具,到 Windows 10 都可以正常使用,如果還有 Windows 2003 Resource Kit 光碟或 iso,就直接可以使用,如果沒有的話,也可以到微軟的官網下載:

https://download.microsoft.com/download/8/e/c/8ec3a7d8-05b4-440a-a71e-ca3ee25fe057/rktools.exe

https://www.microsoft.com/en-za/download/confirmation.aspx?id=17657

https://www.microsoft.com/en-us/download/details.aspx?id=17657

以上幾個網址應該都可以找到

再來就是將 c:\tmp 備份到 d:\tmp

image

c:\temp\robocopy.exe c:\tmp d:\tmp /mir

image

最後包成一個 *.bat

@echo off
rem ===================================================================
rem Jan,07,2005 Fri Anderson Version 0.0.1
rem 2018.02.21 Wed 改良,將 log 檔加上年月日 時分秒
rem A very good backup tool–robocopy
rem ===================================================================
rem Log 寫入 backup_YYYYMMDD_HHMMSS.log
rem ===================================================================

REM 取得今天的年、月、日 (自動補零)
SET TodayYear=%date:~0,4%
SET TodayMonthP0=%date:~5,2%
SET TodayDayP0=%date:~8,2%

REM 取得今天的年、月、日 (純數字)
REM 更新:以下是為了修正 Batch 遇到 08, 09 會視為八進位的問題
IF %TodayMonthP0:~0,1% == 0 (
    SET /A TodayMonth=%TodayMonthP0:~1,1%+0
) ELSE (
    SET /A TodayMonth=TodayMonthP0+0
)

IF %TodayMonthP0:~0,1% == 0 (
    SET /A TodayDay=%TodayDayP0:~1,1%+0
) ELSE (
    SET /A TodayDay=TodayDayP0+0
)

echo 日期 %TodayYear%/%TodayMonth%/%TodayDay%
echo 日期 %TodayYear%/%TodayMonthP0%/%TodayDayP0%
echo %TodayYear%%TodayMonthP0%%TodayDayP0%

REM 取得時、分、秒 、豪秒
SET Hour=%Time:~0,2%
SET Minute=%Time:~3,2%
SET Second=%Time:~6,2%
SET /A Millisecond=%Time:~9,2%*10

echo 時間 %Hour%:%Minute%:%Second%.%Millisecond%
echo %Hour%%Minute%%Second%

echo “=======================" > c:\temp\backup_%TodayYear%%TodayMonthP0%%TodayDayP0%_%Hour%%Minute%%Second%.log

rem 備份 c:\tmp\*
c:\temp\robocopy.exe c:\tmp d:\tmp /mir /LOG+:c:\temp\backup_%TodayYear%%TodayMonthP0%%TodayDayP0%_%Hour%%Minute%%Second%.log
copy c:\temp\backup.bat d:\tmp
copy c:\temp\robocopy.exe d:\tmp
if errorlevel 16  echo  ***FATAL ERROR***  & goto end
if errorlevel 15  echo FAIL MISM XTRA COPY & goto end
if errorlevel 14  echo FAIL MISM XTRA      & goto end
if errorlevel 13  echo FAIL MISM      COPY & goto end
if errorlevel 12  echo FAIL MISM           & goto end
if errorlevel 11  echo FAIL      XTRA COPY & goto end
if errorlevel 10  echo FAIL      XTRA      & goto end
if errorlevel  9  echo FAIL           COPY & goto end
if errorlevel  8  echo FAIL                & goto end
if errorlevel  7  echo      MISM XTRA COPY & goto end
if errorlevel  6  echo      MISM XTRA      & goto end
if errorlevel  5  echo      MISM      COPY & goto end
if errorlevel  4  echo      MISM           & goto end
if errorlevel  3  echo           XTRA COPY & goto end
if errorlevel  2  echo           XTRA      & goto end
if errorlevel  1  echo                COPY & goto end
if errorlevel  0  echo    –no change–    & goto end
:end

 

image

廣告
本篇發表於 Bookmark, Windows, Windows 10, Windows 2016。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s