对于转义字符^的讨论
bat吧
全部回复
仅看楼主
level 3
飞狼队2号
楼主
下面给出两个小批处理
1:
@echo
off & setlocal enabledelayedexpansion
echo ^^!
pause
2:
@echo off & setlocal enabledelayedexpansion
echo ^!
pause
对于第一个,运行结果是一个!,而第二个程序则显示echo处于关闭状态,这是为什么
2015年05月15日 09点05分
1
level 15
赤座灯里◎
听说批处理文件中某些地方有二次转义的特性,需要前面一个转义符先转义后一个转义符。
2015年05月15日 11点05分
2
level 14
aiwozhonghuaba
!在预处理的时候,只是一个普通符号,不会被处理,此时转义的话没有用处
详细:
^!
经过预处理变成了!
,然而^
转义的只是作为一个普通符号的!
,因而在真正执行的时候!
仍然被当作了特殊符号进行处理
^^!
经过预处理变成了^!
,因为第一个^
转义了后面的^
,取消了第二个^
的特殊符号身份,因而第二个^
得以保留下来,在真正执行时后发挥转义符号的力量将!
真正转义为普通符号
2015年05月15日 13点05分
3
aiwozhonghuaba
详见:
http://bbs.bathome.net/thread-1962-1-1.html
2015年05月15日 13点05分
1