Экранирование строк в Windows Batch For Loop - PullRequest
0 голосов
/ 07 сентября 2011

У меня проблемы со следующим кодом:

FOR /f "tokens=*" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    echo %%A>> "%MYFILE_PATH%.scratch"
)

В читаемом файле есть XML, и когда читаются знаки <и>, скрипт выдает ошибки. Как я могу экранировать содержимое %% A для безопасного вывода в выходной файл? Я не хочу помещать двойные кавычки вокруг него, так как это будет также повторять кавычки.

Спасибо

1 Ответ

1 голос
/ 07 сентября 2011
FOR /f "tokens=*" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    (echo %%A)>>"%MYFILE_PATH%.scratch"
)

При добавлении содержимого %% A в другой файл все, что вы по существу делаете, это копируете файл.

EDIT

 FOR /f "tokens=* delims=" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    (echo %%A)>>"%MYFILE_PATH%.scratch"
)
...