如何在命令提示符中转义&(与符号)?含代码场景需求
在Windows命令提示符中转义&符号的方法
你遇到的问题很典型——在CMD里,&是命令分隔符,会把一行内容拆成多个独立命令执行。所以原来的命令里,echo first=1&second=2&third=3会被拆成echo first=1、second=2(这会报错,因为没有这个命令)、third=3(同样报错),完全达不到你想输出包含&的字符串的目的。
下面给你两种实用的解决方法:
方法1:用脱字符^转义&
这是CMD中最通用的转义方式,把每个&前面加上^,就能让CMD把它当成普通字符处理:
set "CONTENT_LENGTH=24" & echo first=1^&second=2^&third=3
执行这个命令后,你会得到预期的输出:first=1&second=2&third=3。
方法2:把输出内容用双引号包裹
如果允许输出结果带双引号,你可以直接把整个echo的字符串放在双引号里,此时引号内的&不需要转义:
set "CONTENT_LENGTH=24" & echo "first=1&second=2&third=3"
这种方法的输出会是:"first=1&second=2&third=3",适合不介意引号存在的场景。
需要注意的是,如果你是在批处理文件(.bat/.cmd)中执行这些命令,转义规则是一样的——用^转义&就可以,不需要额外的处理。
内容的提问来源于stack exchange,提问作者surge10
相关产品推荐
相关产品推荐

