@echo off
setlocal enabledelayedexpansion
REM #配置参数
set sourceFolder=D:\Board
set backupRoot=D:\backup
REM #创建备份
if exist "%sourceFolder%" (
echo 开始备份
REM #创建备份目录(如果不存在)
if not exist "%backupRoot%" mkdir "%backupRoot%"
REM #生成带时间戳的文件夹名
set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
REM #处理时间中的空格
set timestamp=!timestamp: =0!
REM #获取最后文件名称
for %%A in ("%sourceFolder%") do set folderName=%%~nxA
set backupFolder=%backupRoot%\!folderName!_!timestamp!
echo 正在备份 %sourceFolder% 到 !backupFolder!...
xcopy "%sourceFolder%" "!backupFolder!\" /E /H /C /I /Y
if %ERRORLEVEL% equ 0 (
echo 备份成功完成
) else (
echo 备份过程中出现错误
)
) else (
echo 源文件夹不存在: %sourceFolder%
)