@echo on
rem 获取hooks目录和版本库目录
set REPOS=%1
set REV=%2
rem 获取提交发邮件基础日志
svnlook changed %REPOS% >d:\w.txt
rem 设置要发邮件的增删该的路径SVN路径。
set mail=xxx/发布版本/发布版本/服务端/外测/
for %%i in (d:\w.txt) do (type %%i |find "%mail%">nul )
if %errorlevel%==0 goto ok REM--如果有就跳到:ok
if %errorlevel%==1 goto end REM--如果没就跳到:end
:ok
rem 产生随机数,作为日志的文件名
set RD=%RANDOM%
rem 邮件的用户名(mail_user)和密码(pass)
set mail_user=xxxx
set pass=xxxx
set dtime=%date:~0,10% %time%
svnlook info %REPOS% > e:\svnemail\INFO_%RD%.txt
svnlook changed %REPOS% > e:\svnemail\CHG_%RD%.txt
sed -e "1"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f %%i in (e:\svnemail\temp.txt) do set user=%%i
sed -e "2"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f %%i in (e:\svnemail\temp.txt) do set dtime=%%i
sed -e "4"p -n e:\svnemail\INFO_%RD%.txt > e:\svnemail\temp.txt&&for /f "tokens=*" %%i in (e:\svnemail\temp.txt) do set LOG_MSG=%%i
echo Dear %user% : >> e:\svnemail\MSG_%RD%.txt
echo 目前提交的版本号是:%REV% >> e:\svnemail\MSG_%RD%.txt
echo 提交时间 :%date:~0,10% %time:~0,8% >> e:\svnemail\MSG_%RD%.txt
echo 提交日志 :%LOG_MSG% >> e:\svnemail\MSG_%RD%.txt
echo ---------------------------------------------------------------以下是%user%最新提交的内容-------------------------------------------------------------------------- >> e:\svnemail\MSG_%RD%.txt
echo 提交的文件内容如下 : >> e:\svnemail\MSG_%RD%.txt
echo. >> e:\svnemail\MSG_%RD%.txt
type e:\svnemail\CHG_%RD%.txt >> e:\svnemail\MSG_%RD%.txt
echo ---------------------------------------------------------------以上是%user%最新提交的内容-------------------------------------------------------------------------- >> e:\svnemail\MSG_%RD%.txt
echo 游戏配置更改 >> e:\svnemail\MSG_%RD%.txt
echo %dtime% >> e:\svnemail\MSG_%RD%.txt
type e:\svnemail\scm.txt >> e:\svnemail\MSG_%RD%.txt
blat e:\svnemail\MSG_%RD%.txt -to xxxx@xxxx.com,xxxx@xxxx.com -cc xxxx@qq.com,xxx@xxxx.com -charset gb2312 -subject "SVN库当前提交情况,提交者:%user% SVN当前版本号:%REV%" -server smtp.xxxxxx.com -f xxxx@xxxxx.com -u %mail_user% -pw %pass%
exit
:end
svnlook info %REPOS%
exit
rem blat 为发邮件小工具 -to 收件人邮箱地址,多个收件人用逗号隔开。-cc 抄送人多个用逗号隔开。第一次请手动创建svnemail文件夹及scm.txt文件。
工具都在附件。64dll,exe拷贝到C:\Windows\System32 即可
转载于:https://blog.51cto.com/juestnow/1789552