Obteniendo un mensaje de registro de svnlook a través de Windows batch
Intento preparar un enlace post-commit para mi repositorio svn. Por lo tanto, necesito el mensaje de registro de la última confirmación que recibí con el comandosvnlook log -r %REV% %REPOS%
. Al rellenar el fragmento con los parámetros adecuados, aparece el siguiente mensaje de registro multilínea:
<code>This is my transaction. </code>
Esto funciona bien hasta ahora. Ahora pongo esto en un archivo .bat:
<code>@ECHO OFF REM just for testing purpose... SET REPOS=C:\repo SET REV=40 FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=%%i ECHO %VAR% </code>
Cuando ejecuto el script solo la última líneatransaction.
se hace eco. El for-loop es un fragmento del cual pensé, leería la salida de svnlook en%var%
.
Mi enfoque es obtener el mensaje de registro en una variable, que paso a otro archivo exe como parámetro. Pero no funcionará. No sé cómo usar correctamente el bucle.
El mensaje de registro se debe dar a otro archivo exe como un parámetro.
He modificado la secuencia de comandos a la siguiente (@thx PA.)
<code>@ECHO OFF setlocal enabledelayedexpansion SET REPOS=C:\repo SET REV=40 SET MSG= FOR /F %%i in ('svnlook log -r %REV% %REPOS%') do SET VAR=!VAR! %%i ECHO !VAR! </code>
La salida es ahoraThis is my transaction.
Pero el linebreak se ha ido pero necesito el para un mayor procesamiento.