echo ^(
echo echo.
echo echo 最后更新的文件是:%%file_route%% ,更新操作发生在 %%file_time%% 。
echo ^)^>^>"%destination%%name_log%_log.log"
echo :end
echo attrib /s /d +s +r "%destination%*.*"^>nul 2^>nul
echo start "" "%destination%%name_log%_log.log"
echo goto :eof
echo.
)>>"%batch_directory%%name%_backup.bat"
call :build_head
goto build_revert
:file_backup
(
echo xcopy /c /d /h /i /g /q /x /y "%source%" "%destination%"^|findstr /b /e /c:"复制了 0 个文件"^>nul^&^&goto :eof
echo attrib -s -h -r "%destination%*.*"^>nul 2^>nul
echo echo.^>^>"%destination%%name_log%_log.log"
echo for /f "skip=1 tokens=1,2" %%%%i in ^('dir /a-d /tw "%source%"^^^|find "-"'^) do ^(
echo echo ^^^<%%date:~0,10%% %%time:~0,8%% 备份记录^^^> 文件最后一次更新时间:%%%%i %%%%j^>^>"%destination%%name_log%_log.log"
echo ^)
echo attrib +s +r "%destination%*.*"^>nul 2^>nul
echo start "" "%destination%%name_log%_log.log"
)>>"%batch_directory%%name%_backup.bat"
rem ========创建文件恢复脚本程序========
:build_revert
:: 恢复备份后文件(夹)的完整路径
for %%i in ("%source%") do set SourceFileName=%%~nxi
:: 判断%source%是文件还是文件夹
if "%folder%"=="yes" (set SourceFiles=%destination%) else (set SourceFiles=%destination%%SourceFileName%)
(
echo @echo off
echo mode con lines=25
echo color 1f
echo title 文件备份器-%name%_revert
echo.
echo rem 功能说明
echo.
echo rem 本程序由"文件备份器V2.3"生成 Code by JM 2006-10-19 QQ:13132002
echo.
echo rem build on %date% %time:~0,-3% by %username%
echo.
echo rem 原理:在创建备份任务时,把源文件的原始属性记录下来。当需要恢复文件时,
echo rem 则复制备份后的文件覆盖源文件,并去掉覆盖后所有文件的属性,最后
echo rem 从恢复程序中读出原始属性并重新设置。
echo if not exist "%destination%" ^(
echo title 文件丢失
echo color 0c
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo ________________________________________________________________________________
echo echo.
echo echo 文件"%destination%"不存在,可能已被改名、移动或者删除
echo echo.
echo echo ________________________________________________________________________________
echo ping 127.1 -n 5 ^>nul
echo exit^)
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo.
echo echo ________________________________________________________________________________
echo echo.
echo echo 正在把文件从"%destination%"恢复到"%source%",请稍侯...
echo echo.
echo echo ________________________________________________________________________________
)>"%batch_directory%%name%_revert.bat"
if "%folder%"=="yes" echo if not exist "%source%" md "%source%">>"%batch_directory%%name%_revert.bat"
echo attrib /s /d -h -r -s "%source%"^> nul 2^>nul>>"%batch_directory%%name%_revert.bat"









