Есть несколько специальных символов, которые обычно должны быть экранированы при использовании в пакетных файлах Windows. Вот частичный список: < > & | ^ %
Экранирующий символ - ^
. Таким образом, чтобы получить литерал |
, вы должны сделать это:
echo ^|
Когда специальный символ находится в переменной, он становится немного сложнее. Но если вы используете специальный синтаксис, вы можете заменить символы в переменной следующим образом:
set X=A^|B
REM replace pipe character with underscore
set Y=%X:|=_%
echo %Y%
REM prints "A_B"