Index: trunk/utils/svn_insert_version.cmd =================================================================== diff -u -r7 -r183 --- trunk/utils/svn_insert_version.cmd (.../svn_insert_version.cmd) (revision 7) +++ trunk/utils/svn_insert_version.cmd (.../svn_insert_version.cmd) (revision 183) @@ -1,6 +1,6 @@ setlocal enabledelayedexpansion @ECHO off -ECHO "%0 started" +ECHO "svn_insert_version.cmd started" REM REMEMBER ORIGINAL WORKING FOLDER AND GO TO THE SOURCES DIRECTORY SET ORG_DIR=%CD% @@ -34,7 +34,7 @@ REM GET THE SVN VERSION NUMBER AND REVISION PATH FOR /f "tokens=1,* delims=�" %%A IN ('svn info') DO ( - ECHO %%A | findstr /I "^Revision" && SET REV_BUF=%%A + ECHO %%A | findstr /I /C:"Last Changed Rev" && SET REV_BUF=%%A ECHO %%A | findstr /I "^URL" && SET ROOT_BUF=%%A ECHO %%A | findstr /I /C:"Repository Root" && SET AFTER_BUF=%%A ) @@ -43,7 +43,7 @@ SET SVN_REV=0 SET SVN_ROOT= ) ELSE ( - SET SVN_REV=%REV_BUF:~10% + SET SVN_REV=%REV_BUF:~18% SET SVN_ROOT=%ROOT_BUF:~5% SET "FIND=*%AFTER_BUF:~17% CALL SET SVN_ROOT=%%SVN_ROOT:!FIND!=%% @@ -64,13 +64,12 @@ ) ECHO "writing new %OUTTEXTFILE%" -FOR /f "tokens=1,* delims=�" %%A IN ( '"type %INTEXTFILE%"') DO ( - SET string=%%A - SET modified=!string:%SEARCHTEXT%=%SVN_REV%! - SET modified=!modified:%SEARCHROOT%=%SVN_ROOT%! - ECHO !modified! >> %OUTTEXTFILE% + +REM This command can process version files which contain special character "!" +call powershell -Command "(gc %INTEXTFILE%) -replace '%SEARCHTEXT%', '%SVN_REV%' | Out-File -encoding ASCII %OUTTEXTFILE% + ) CD %ORG_DIR% -ECHO "%0 done" +ECHO "svn_insert_version.cmd done" :EOF \ No newline at end of file