加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

通过Windows批处理从svn??look获取日志消息

发布时间:2020-12-13 23:37:32 所属栏目:Windows 来源:网络整理
导读:我尝试为我的svn存储库准备一个post-commit钩子.因此,我需要使用命令svnlook log -r%REV %% REPOS%从上次提交的日志消息.使用适当的参数填充代码段我得到以下多行日志消息: Thisismytransaction. 到目前为止这很好用.现在我把它放在一个.bat文件中: @ECH
我尝试为我的svn存储库准备一个post-commit钩子.因此,我需要使用命令svnlook log -r%REV %% REPOS%从上次提交的日志消息.使用适当的参数填充代码段我得到以下多行日志消息:
This
is
my
transaction.

到目前为止这很好用.现在我把它放在一个.bat文件中:

@ECHO OFF

REM just for testing purpose...
SET REPOS=C:repo
SET REV=40

FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=%%i

ECHO %VAR%

当我执行脚本时只有最后一行事务.是的回应. for循环是我认为的一个片段,它会将svnlook输出读入%var%.

我的方法是在一个变量中获取日志消息,我将其作为参数传递给另一个exe文件.但它不会起作用.我不知道如何正确使用循环.

日志消息应该作为参数提供给另一个exe文件.

我将脚本修改为以下内容(@thx PA.)

@ECHO OFF
setlocal enabledelayedexpansion

SET REPOS=C:repo
SET REV=40

SET MSG=
FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=!VAR! %%i
ECHO !VAR!

输出现在是这是我的交易.但是线路已经消失,但我需要进一步处理.

如果您还想要换行符,可以在连接行时添加它们.
@ECHO OFF
setlocal enabledelayedexpansion
set LF=^


rem ** The two empty lines are NECESSARY

SET REPOS=C:UsersCH.ROSESOFTDownloadst3repo
SET REV=40

SET MSG=
FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do (
    SET "VAR=!VAR!!LF!%%i"
    SET "PAR=!PAR!^^!LF!!LF!%%i"
)
ECHO !VAR!
myProgram.exe !par!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读