
1.%是一个ESCAPE字符,通常将其翻译为转义字符,但是还有更多可视化翻译的转义字符,转义字符等. 换句话说,%不仅转义并将与之关联的特定字符串替换为特定字符串,而且还自身进行“转义”. 与C语言中的转义字符“ \”类似,double%被转义并作为single%转义,而4%被转为double%.

2,本身就是一个特殊的命令,类似于特殊的命令解释器,因为其功能实现需要执行多个语句,因此它还必须具有命令行(特别是do之后的命令行)分析和处理功能. 当command / cmd实现时,它自然会借用其原始的命令行分析模块. 因此,对于具有二级逃避的特征. do in for之后的语句分为两个级别进行分析和解释. 第一层是命令/ cmd. 读和解释for命令行时,第二级通常在for读和解释for命令时多次解释同一命令行.

然后,我们可以注意到,当在do中使用命令行参数变量和环境变量时,我们不需要double%. 这是因为在第一个级别转义后,这些变量将替换为特定的常量. 字符串常量,它参与for循环的所有执行过程;替换变量在执行过程中需要连续不断的动态更改(在do之后,在子命令行中),而这种更改自然仍然需要通过转义字符来实现,因此使用double%成为必然的选择.

此外,需要注意的是,在命令行中使用for时并不需要double%. 这是因为命令解释器以不同的方式处理命令行和批处理. 在早期的DOS版本中,%在命令行上不被认为是转义字符cmd替换字符串,因此它没有被转义和转义cmd替换字符串,因此不可能在命令行上直接引用环境变量. 用于时,仅需1%即可进行逃生和逃生. 在未来版本的命令解释器中,添加了对命令行转义的支持(主要是对环境变量的支持),但是仍然保留了对命令行使用单个%的传统.

cmd中变量的延迟替换是一种特殊情况,但是它没有违反上述转义原理,但是for中的环境变量不再是常量.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-155081-1.html
同时也是暗示所谓盟国一起采取联合巡航措施