需求是定期备份某个远程目录文件,增量备份。 以下内容为脚本,请作为批处理脚本使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@echo off
chcp 65001 >nul

:: Configuration
set SRC="\\192.168.1.1\财务部"
set DEST="D:\Backup"
set LOG="D:\Backup\finance_backup.log"

echo ============================================== >> %LOG%
echo Start Time: %date% %time% >> %LOG%

:: Check if Source is accessible before mirroring to prevent accidental wipes
if not exist %SRC% (
    echo ERROR: Source path not found. Aborting to protect backup. >> %LOG%
    exit /b 1
)

:: Run Robocopy
:: /MIR  : Mirroring (CAUTION: Deletes files in DEST not in SRC)
:: /Z    : Restartable mode (good for large files/network drops)
:: /FFT  : Assume FAT File Times (better for network/NAS compatibility)
:: /R:2  : Retry twice on fail
:: /W:5  : Wait 5 seconds between retries
:: /NP   : No Progress (keeps log file clean)
:: /MT:8 : Multi-threaded (Optional: speeds up transfer of many small files)

robocopy %SRC% %DEST% /MIR /Z /FFT /R:2 /W:5 /NP /MT:8 /LOG+:%LOG%

set RC=%ERRORLEVEL%
echo End Time: %date% %time% >> %LOG%
echo Robocopy ExitCode=%RC% >> %LOG%
echo ============================================== >> %LOG%

:: Return success if RC is less than 8
if %RC% LSS 8 (exit /b 0) else (exit /b %RC%)
...