у меня есть CMD-файл (Windows XP), который с помощью мульти-линии IF блока, как это:Пакетных файлы с переменными, содержащей скобкой в вложенном Если блоках
IF DEFINED SUMM (
echo %SUMM% >> %OutFile%
echo ---- >> %OutFile%
) ELSE (
echo No summary >> %OutFile%
)
Проблема возникает, если переменные% окружающую среду SUMM% содержит закрывающую скобку, а затем текст после нее. Например:
SET SUMM=(Hello world) Here's some more text.
Тогда я предполагаю «)» в Summ рассматриваются как закрывающая скобка в командном блоке IF и генерирует сообщение об ошибке:
вот был неожиданным в это время.
Есть ли способ обойти это? Как я могу убедиться, что) рассматривается как часть строки, а не часть командного блока?
Моя переменная может содержать кавычки или другие специальные символы, поэтому мне нужно это обработать. Я включил задержку расширения и переключился на! СУММ! вместо% SUMM%, и это сделало трюк! Благодаря! – user2066241