echo 备份开始……
定义将要备份的仓库路径
set SVN_DIR=E:\Repositories\test-backup
获取版本记录文件中,上次写入的版本号(起初手动在svn的bin目录下创建test_back_version.txt,或者建在其他目录下,执行脚本前先跳转到txt文档所在的目录)
set /p last_version=
去掉从txt中获取到参数的空格
set "last_version=%last_version: =%"
echo 最后一次记录的版本号是:%last_version%
查出最新版本号,并把最新版本赋值给一个变量(把固定值赋值给变量,需要用for循环)
for /F %%i in ('svnlook youngest %SVN_DIR%') do ( set latest_version=%%i)
显示通过for循环取出的最新版本号
echo 最新版本号为:%latest_version%
定义备份时间
set back_time=%date:0,4%%date:5,2%%date:8,2%%time:0,2%%time:3,2%%time:6,2%
执行备份,备份文件后缀加上备份时间
svnadmin dump %SVN_DIR% -r %last_version%:%latest_version% > E:\test-backup\test_back_%back_time%
判断如果备份成功,将最新版本号写入txt文件进行记录;否则显示failed
if %errorlevel% == 0 (
echo %latest_version% >test_back_version.txt
)else (echo failed)
pause