1

svn の pre-commit フックとして .bat スクリプトを作成しようとしています。しかし、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
4

0 に答える 0