svnlook cat -t не работает в Windows (когда я создавал скрипт.bat)

Я пытаюсь написать сценарий.bat в качестве ловушек предварительной фиксации в SVN. Однако когда я пытался использовать команду svnlook cat с опцией -t, она не работала. Он продолжал говорить мне об ошибках синтаксиса. Я попробовал все, включая добавление кавычек, изменение параметра -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

ИЛИ ЖЕ

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 ответов

Другие вопросы по тегам