批处理常用特殊符号

1. @                                                命令行回显屏蔽符
2. %                                                批处理变量引导符
3. < ,> , >>, >& ,<&             重定向符
4. |                                                  命令管道符
5. ^                                                  转义字符
6. & , && , ||                               组合命令
7. “”                                                 字符串界定符
8. ,                                                   逗号
9. ;                                                   分号
10.()                                                    括号
11.!                                                  感叹号
*12.CR(0D)                                       命令行结束符
*13.Escape(1B)                                ANSI转义字符引导符
*14.space(20)                                  常用参数界定符
*15.tab(09) ,;, =                       不常用参数界定符
*16.  +                                             copy命令文件连接符
17.  * ,?                                      文件通配符
18.  /                                               参数开关引导符
19.  :                                               批处理标签引导符
 
1.     @ 
这个字符在批处理中是意思是关闭当前行的回显。Echo off可以关闭整个批处理命令的回
显,但不能关掉本身,所以加@可以达到所有命令均不回显的效果。

2.     % 
严格来说是算不上命令的,他只是批处理中的参数而已
引用变量用%var%,调用程序外部参数用%1至%9,%0表示程序本身,%*表示所有参数。
参数%0可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。
如: copy %0 d:\copy.bat
此外,有这样的注释:%注释内容% 
不过容易出现语法错误,一般不用。

3.     > 
输出重定向命令
这个字符的意思是传递并覆盖,他所起的作用是将运行的结果传递到后面的范围。
如:
使用命令:echo hello >1.txt将建立文件1.txt,内容为”hello “(注意行尾有一空格)
 使用命令:echo hello>1.txt将建立文件1.txt,内容为”hello“(注意行尾没有空格)
4.     >> 
和>作用类似,他的作用是传递并在文件末尾追加,不会覆盖文件。
如:echohello > 1.txt
echo world >>1.txt 
                            结果为:
                                          hello
                                          world

5.     <、>&、<&
这三个命令一般不常用,大概了解一下
<    输入重定向命令,从文件中读入命令输入,而不是从键盘中读入
>&   将一个句柄的输出写入到另一个句柄的输入中。
<&   从一个句柄读取输入并将其写入到另一个句柄的输出。

6.     命令管道符
格式:第一条命令 | 第二条命令 [| 第三条命令...]
将第一条命令的结果作为第二条命令的参数来使用。
如:
Dir  d:\|del .txt 
查找d盘所有并删除所有txt文件

7.     ^ 转义字符
对特殊符号<,>,&的前导字符。
此还可以用作续行符,因为行尾有看不见的特殊符号回车符,转义字符将其无效化了。

8.     & ,&&,|| 组合命令
&语法:第一条命令 & 第二条命令 [& 第三条命令...]
&&语法:第一条命令 && 第二条命令 [&& 第三条命令...]
||语法:第一条命令 || 第二条命令 [|| 第三条命令...]
 
&:   可以把多条命令当成一个命令执行
&&:  可以同时执行多条命令,若有出错部分则不执行出错及后续命令
||:   当碰到真确的命令后不执行后面的命令

9.     “” 字符串界定符
字符

10.  , 逗号
相当于空格
如: dir,c:\


11.  ; 分号

当命令差不多时,可以用 ; 隔离

这里有几个有趣的例子,大家可以实践下:

TEST1.bat
dirc:\;d:\;e:\;z:\
pause

::这里因为没有z盘,dir命令没有被执行


TEST2.bat
dirc:\;d:\;e:\1.txt
pause

::这里虽然没有1.txt,但dir命令被执行了


12.  () 括号

括号中可以有多行命令,这些命令被视为整体

如:dir c:\ & dir d:\ & dir e:\

可写为:

(
Dir c:\
Dir d:\
Dir e:\
)

注:如果其中有变量,会涉及到变量延迟问题


13.! 感叹号

在变量延迟问题中,用来表示变量。


 附:

1.优先级

管道命令>重定向命令>组合命令

 2.*表示一些其它的特殊标记符