%是个ESCAPE字符,通常将之译为转义字符,但也有更形象的译名脱逸字符、逃逸字符等。也就是说%不仅仅将与其相关的特定字符串转义并替换为特定字符串,而且自身也会被“脱逸”。而且类似于C语言中的转义字符"\",双%会转义并脱逸为单%,四%则脱为双%。
除了for循环变量外,批处理变量的脱逸符要成对使用,就像数学四则运算的括号一样。
call set b=%%a:~0,%c%%%
就你举得这个例子来讲,最里面一对单%相当于四则运算里的小括号,外面的一对双%相当于中括号,再有3 个%就相当于大括号
是set %PATH:str1=str2%没错,只是str1被%char1%代替,str2被%char2%代替,PATH被%str%代替了而已。
因为他是变量里面还有变量
于是最外围的变量就是用的两个了啊
同样的
还能用到3个%的