2012-08-03 61 views
3

我想写一个批处理文件,它将运行一个时间表,它会得到一个日志文件在XML中。现在每当批处理文件运行时,它就会在今天得到它。SVN从使用批处理文件获取今天的日志。

这是我写的非常基本的,也许是我错误的理由。

svn log -v -r {%date%} --xml http://repositorylocation.com > op7.xml 

现在,当我这样做,我得到的不仅是我需要的日期,但白天的三个字母ancrynom。我需要删除但不知道如何。有什么建议?

我在Windows XP上运行这个。

谢谢。

+0

你有Cygwin的? sed/awk或perl非常适合操纵字符串...... – Gus 2012-08-03 21:28:33

+1

'%date%'格式由短日期格式(区域设置)管理,最简单的方法就是将其设置为任何您需要的格式。它不能,或者不想将它设置为用户范围,你可以在[这个答案]中检查技巧(http://stackoverflow.com/questions/10945572/windows-batch-formatted-date-into-variable) – wmz 2012-08-03 21:49:10

回答

1

尝试以下操作:

set MONTH=%date:~4,2% 
set DAY=%date:~7,2% 
set YEAR=%date:~10,4% 

这应该分别给你的月,日和年。然后,您可以处理你的日志文件,你想要的任何方式,即

svn log -v -r {%MONTH%-%DAY%-%YEAR%} --xml http://repositorylocation.com > op7.xml 
+1

谢谢你做到了。我得到它工作正常。 – 2012-08-06 19:18:50

2

http://subversion.tigris.org/issues/show_bug.cgi?id=2849

以上似乎表明,你可以通过调整你的locale生效日期格式,但是这是一个非常糟糕的黑客...如果你得到的日期格式可靠地在月和日前加0,那么hatbyzero可能会工作

做这件事的痛苦但非常可靠的方法是解析xml,解析日期然后重新格式化日期,在xml中设置值,然后将固定的xml写入文件这可能适用于groovy中使用xml slu RPER。

http://groovy.codehaus.org/Reading+XML+using+Groovy%27s+XmlSlurper

+0

这对我来说很难使用,但确实奏效。谢谢您的帮助。 – 2012-08-06 19:19:20

+1

我确实说过这是“痛苦但可靠的方式”:)。很高兴你发现它有帮助。 – Gus 2012-08-06 19:24:11

+0

真的大声笑,应该看到即将到来,但谢谢你是非常有帮助的。 – 2012-08-07 19:56:20

相关问题