很抱歉回答我自己的问题,这也只是部分答案,但这是我目前所处的位置。
首先,空格的问题不仅仅在于 %SVNExecutable% 中的文件路径,问题根本在于命令中的空格。
解决此问题的方法(适用于 Windows XP)是使用usebackq开关,并使用反引号`而不是普通引号。使用它,我设法让 svn update 命令工作:
for /f "usebackq tokens=2* delims= " %%x in (`%SVNExecutable%svn up --username %username% %SVNURL% %workfolder%`) do ECHO "%%x"
这更新了测试文件,并根据以下初始更新结果:
U full\path\to\file\file.sql
Updated to revision 36793.
Summary of conflicts:
Skipped paths: 1
这会产生以下结果:
"full\path\to\file\file.sql"
"to"
"of"
"paths:"
我无法开始工作的最后一块拼图是带有正则表达式的 findstr。当我重新添加并尝试以下操作时:
for /f "usebackq tokens=2* delims= " %%x in (`%SVNExecutable%svn up --username %username% %SVNURL% %workfolder% ^| findstr /r /c:"^U"`) do ECHO "%%x"
我收到此错误:
The filename, directory name, or volume label syntax is incorrect.
有两个想法是否将其作为一个新问题开始,现在我已将此标记为已回答...无论如何,所有帮助都非常感激