【windows】source tree 导出变更文件-通过bat文件进行配置和命名

在source_tree中自定义动作,命定使用以下内容的bat文件。

  1. 配置 zip7参数,指定本地7z.exe文件目录
  2. 设置.zip文件放置目录
  3. 目前文件命名方式为日期+变更文件数量
  4. 在source_tree中配置,见图
  5. 在配置的过程中,source tree 通过参数传递给 bat 文件时,bat文件接收到多个参数而不是一个,因此需要一段逻辑来处理全部参数。
@echo off
::设置7z的命令行程序路径
set zip7=C:\Program Files\7-Zip\7z.exe
::设置压缩包保存路径
set Save=D:\0-code\baison\sourcetree_export_zip
::当天日期,备份文件名
set "year=%date:~0,4%"
set "month=%date:~5,2%"
set "day=%date:~8,2%"
set hour=%time:~0,2%
if /i %hour% LSS 10 (set hour=0%time:~1,1%)
set "minute=%time:~3,2%"
set "second=%time:~6,2%"
set curdate=%year%%month%%day%%hour%%minute%%second%
::设置要打包压缩的文件夹
set allparam=
set count = 0
:param
set str=%1
if "%str%"=="" (
    goto end
)
set /a count+=1
set allparam=%allparam% %str%
shift /0
goto param

:end
if "%allparam%"=="" (
    goto eof
)

::rem remove left right blank
:intercept_left
if "%allparam:~0,1%"==" " set "allparam=%allparam:~1%"&goto intercept_left

:intercept_right
if "%allparam:~-1%"==" " set "allparam=%allparam:~0,-1%"&goto intercept_right

:eof
set www=%allparam%

::备份命令 -xr!.svn过滤.svn文件夹
"%zip7%" a -tzip "%Save%\%curdate% total %count% files.zip" %www% -mx0 -xr!.svn

::删除超过7天的备份--start--
::forfiles /p "%Save%" /m *.zip -d -7 /c "cmd /c del /f @path"

file

评论数量: 0

0
点赞
34
浏览
0
评论

贡献 69