Извиняюсь за ответ на мой собственный вопрос, это тоже только частичный ответ, но сейчас я нахожусь там.
Во-первых, проблема с пробелами связана не только с путем к файлу в% 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.
Был в раздумьях, стоит ли начинать этот вопрос как новый вопрос, теперь я пометил этот как ответивший ... в любом случае, вся помощь с благодарностью получена