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