There are several special characters that generally must be escaped when used in Windows batch files. Here is a partial list: < > & | ^ %
The escape character is ^
. So to get a literal |
, you should do this:
echo ^|
When the special character is in a variable, it becomes a bit harder. But if you use special syntax, you can replace characters in a variable like this:
set X=A^|B
REM replace pipe character with underscore
set Y=%X:|=_%
echo %Y%
REM prints "A_B"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…