按照修改日期备份文件。
@echo off
setlocal ENABLEDELAYEDEXPANSION
echo -------------------------------------------------
for /f %%d in (LastBakDate.txt) do (
echo 上次备份于 %%d。
set LastDate=%%d)
::set /p dt=即将备份在指定日期或指定日期以后更改的文件,请输入一个日期(m-d-y):
set dt=%LastDate%
echo 现在即将备份%dt:~6,4%年%dt:~0,2%月%dt:~3,2%日修改和之后修改过的文件。
echo -------------------------------------------------
pause
for /f %%i in (baklist.txt) do echo -- 正在备份 《%%i》. . . & xcopy "D:\%%i" "backup\%%i" /i /e /y /h /r /k /o /EXCLUDE:exclude.txt /D:%dt%
echo %date:~5,2%-%date:~8,2%-%date:~0,4%>LastBakDate.txt
echo -------------------------------------------------
echo 备份完成-%date:~0,10% %time:~0,8%。
pause
需要3个配置文件:
baklist.txt 为需要备份的文件夹。将准备备份的文件夹名称写入baklist.txt列出来:
exclude.txt为备份忽略的文件名。将要忽略的文件名写入exclude.txt列出来:(\ipch\为要忽略的文件夹ipch。)
LastBakDate.txt记录最后一次备份的日期。
执行效果: