Windows 批处理中特殊符号的作用


隐藏命令的回显。


在for中表示使用增强的变量扩展; 
在set中表示使用扩展环境变量指定位置的字符串; 
在set/a中表示按位取反。


使用两个%包含一个字符串表示引用环境变量。比如一个%time%可以扩展到当前的系统时间; 
单个%紧跟0-9的一个数字表示引用命令行参数; 
用于for中表示引用循环变量; 
连续的两个%表示执行时脱为一个%。


取消转义字符,即将所有转义字符的转义作用关闭。比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了; 
在set/a中是按位异; 
在findstr/r的[]中表示不匹配指定的字符集。


命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令; 
在set/a中是按位与。


代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt"; 
在set/a中是乘法。比如"set/a x=4*2",得到的结果是8; 
在findstr/r中表示将前一个字符多次匹配。

() 
命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;


范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符; 
在findstr/r中连接两个字符表示匹配范围; 
-跟在某些命令的/后表示取反向的开关。


主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了; 
在set/a中是加法。