是不是能达到要求?
每个整点备份指定的两个路径里所有文件到指定路径下,以WINRAR生存EXE自解压文件形式,以日期时间格式保存,只存在12个备份文件,删除12小时前的备份,自己测试下。要安装WINRAR,不然出错
@echo off
if "%USERNAME%"=="" goto 2
set/p unbak= 卸载输入,其它键安装:
if /i "%unbak%"=="u" schtasks /delete /tn "gamebak" /f &pause&exit
net start | find /i "Scheduler" >nul 2>nul
If %Errorlevel% GTR 0 sc config schedule start= auto >nul 2>nul&&net start schedule >nul 2>nul
schtasks /delete /tn "gamebak" /f >nul 2>nul
schtasks /create /sc HOURLY /mo 1 /st 00:00:00 /tn "gamebak" /ru system /tr "%~f0" >nul 2>nul
:2
for /f "tokens=1,2 delims=:" %%a in ('reg query HKCR\WinRAR\DefaultIcon /ve^|find "WinRAR.exe"') do (
set patha=%%a
set pathb=%%b
)
if not exist "%patha:~-1,1%:%pathb:~0,-13%\Rar.exe" echo 请安装WinRar & ping -n 5 127.1>nul&exit
set tobak=D:\myspl\account D:\myspl\my
set bakpath=E:\bak
if not exist %bakpath% echo 错误!不存在路径:&ping -n 3 127.1>nul&exit
set/a hourn=%time:~0,2%*1
"%patha:~-1,1%:%pathb:~0,-13%\Rar.exe" a -m5 -sfx "%bakpath%\%date:~5,5%-%hourn%" %tobak%
if %hourn% GEQ 12 (set/a hourn=%hourn%-12) else (set/a hourn=%hourn%+12)
if exist "%bakpath%\%date:~5,5%-%hourn%.exe" del/f/q "%bakpath%\%date:~5,5%-%hourn%.exe"
exit
Last edited by clian76 on 2008-10-30 at 11:28 ]