批处理常用特殊符号
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.*表示一些其它的特殊标记符