Batch file 正在尝试批量回显^

Batch file 正在尝试批量回显^,batch-file,cmd,escaping,Batch File,Cmd,Escaping,我正在制作批量动画,为了制作鼻孔,我想回显2个插入符号,或^,但只显示一个 如何停止/绕过插入符号字符的转义属性?从技术上讲,插入符号^字符就是转义字符 如果你想显示2个插入符号,你可以简单地“转义转义字符” 显示2个插入符号的正确字符串如下所示: echo ^^^^ 你可以把它们加倍,得到你想要的结果 echo ^^^^ 作为转义转义字符(^ ^)的替代方法,您可以使用: rem//Assign带有`^`的变量受``保护: 设置“STR=^^” rem//使用转义后发生的延迟扩展: set

我正在制作批量动画,为了制作鼻孔,我想回显2个插入符号,或
^
,但只显示一个


如何停止/绕过插入符号字符的转义属性?

从技术上讲,插入符号
^
字符就是转义字符

如果你想显示2个插入符号,你可以简单地“转义转义字符”

显示2个插入符号的正确字符串如下所示:

echo ^^^^

你可以把它们加倍,得到你想要的结果

echo ^^^^

作为转义转义字符(
^ ^
)的替代方法,您可以使用:

rem//Assign带有`^`的变量受``保护:
设置“STR=^^”
rem//使用转义后发生的延迟扩展:
setlocal EnableDelayedExpansion
回声!STR!

还有其他几种方法可以做到这一点

使用FOR命令

for %%G IN ("^^") do echo %%~G
SET/p
NUL
重定向一起使用。这个有一些警告。不能在插入符号前加空格。如果在插入符号之前需要空格,则可以使用另一种方法来处理退格字符

<nul set /p ".=^^" &echo(

Nice(+1),尽管第一个也有一些警告:当启用延迟扩展并且整个字符串包含
-标记,转义再次应用,甚至两次(一次在解析
for
循环头时,一次在解析其主体时)。第二种方法不允许将
=
作为第一个字符…@aschipfl可能会使用
SET/P
解决方案的退格技巧。