svnlook cat -t不能在windows上工作(当我创建.bat脚本时)

时间:2013-02-23 01:21:22

标签: batch-file transactions cat pre-commit svnlook

我正在尝试将.bat脚本编写为svn中的预提交挂钩。但是,当我尝试使用带-t选项的svnlook cat命令时,它无法正常工作。它一直告诉我语法错误。我尝试了一切,包括添加引号,更改-t选项等。但是,如果我删除-t选项,它不会报告语法错误。 所以这是错误脚本:

SET REPOS=%~1 (I want to remove the quotes of the path)
SET TXN=%2 

"C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe" cat -t %TXN% %REPOS% myworkingdir/txtIwanttoread

如果我这样做,他们都很好:

SET REPOS=%~1 (I want to remove the quotes of the path)
SET TXN=%2 

"C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe" cat %REPOS% myworkingdir/txtIwanttoread

OR

SET REPOS=%~1 (I want to remove the quotes of the path)
SET TXN=%2 

"C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe" cat -r 28 %REPOS% myworkingdir/txtIwanttoread

有人请帮帮我!!谢谢!

别介意所有人,我想我只是想出了自己。我们应该使用SET TXN =%~2来消除引号。即使我这样做,愚蠢的批处理也会在变量TXN的末尾添加一个空格。这就是导致问题的原因。因此脚本应如下所示:

SET REPOS=%~1 (I want to remove the quotes of the path)
SET TXN=%~2 
SET TXN=%TXN: =% (deblank)

"C:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe" cat -t %TXN% %REPOS% myworkingdir/txtIwanttoread

0 个答案:

没有答案