gpt4 book ai didi

windows - 如何在窗口 bat 中获取整个 svn 提交消息?

转载 作者:可可西里 更新时间:2023-11-01 10:10:13 27 4
gpt4 key购买 nike

我需要在 Windows 的 post-commit hook bat 中获取 SVN 提交消息,所以我这样做:

FOR /F "tokens=*" %%a in ('"svnlook log %1 -r %2"') do @SET MSG=%%a

我测试了一下,大多数情况下都可以。

但是,当我在SVN commit message中输入多行时,该命令只能获取commit message的最后一行,我认为这是windows批处理文件限制造成的。

如何将整个提交消息获取到 bat 变量?

最佳答案

根据提交消息的类型或格式,最好也保留换行符;这可以用这个来完成:

set newline=^


setlocal ENABLEDELAYEDEXPANSION

请注意,换行需要空行,ENABLEDELAYEDEXPANSION 也是如此(一次,在使用 !newline! 之前的任何地方)。

现在您可以使用它来连接消息(跳过空行,顺便说一句)和换行符,然后修剪第一个换行符:

FOR /F "tokens=*" %%a in ('"svnlook log %1 -r %2"') do @SET MSG=!MSG!!newline!%%a
@SET MSG=!MSG:~1!

关于windows - 如何在窗口 bat 中获取整个 svn 提交消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com