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.

Respuestas a la pregunta(3)

Su respuesta a la pregunta