我正在尝试将.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