批处理常用特殊符号
@
关闭命令行回显符号,放在命令行前面,可以屏蔽命令行本身。
%
严格来说,这个符号算不上命令,它只是批处理中的参数而已(多个%一起使用 情况除外)。这个符号非常特殊 ,用法复杂。
|
命令管道符把前一命令的输出结果当后一命令的输入参数来使用。
格式 :第一条命令 | 第二条命令 | [| 第三条命令……]
>、>>
这两个命令都是输出重定向符, ,就是把前面命令的输出写入到一个文件中。
这两个命令的唯一区别是 ,“>” 会清除掉原有文件中的内容后把新的内容写入原文件,
而 “>>”追加新的内容到原文件末尾,不会改动其中的原有内容。
<
输入重定向命令 ,从文件中读入命令输入 ,而不是从键盘中读入。
>&
将一个句柄的输出写入到另一个句柄的输入中。
<&
刚好和>&相反, ,从一个句柄读取输入并将其写入到另一个句柄输出中。
^
转义字符,是将符号的特殊功能和回车去掉,仅仅把它当成符号而不使用它们的特殊意义。
&
组合命令,它的作用是用来连接 n 个 DOS 命令,并把这些命令按顺序执行 ,而不管是否有命令执行失败。
语法:第一条命令 & 第二条命令 [& 第三条命令…]
&&
组合命令,这个命令也是把它前后两个命令连接起来,并按这些命令的顺序执行。
与&命令不同之处在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,
一旦发现出错后将不继续执行后面剩下的命令。
||
组合命令符,用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令,
当碰到执行正确的命令后,将不执行后面所有的命令。
如果没有出现正确的命令,则一直执行完所有的命令。
提示:组合命令和重向命令一起使用必须注意优先级,管道命令的优先级高于重定向命令,重定向命令的优先级别高于组合命令。
“”
字符串界定符,表示双引号内的内容界定为字符。
常用于文件、文件夹名字带空格的情况,以及表示字符串。
,
逗号相当于空格,在某些情况下可以当做空格使用。
;
当命令相同时,可以将不同目标用分号隔离,执行效果不变。
()
左右括号必须成对使用,括号中可以包含多行命令,这些命令将被看成一个整体,
视为一条命令行,即复合语句。此时,如果要用到括号里的代码动态实时值,就需要用到延迟变量了。
!
感叹号在变量延迟问题(setlocal enabledelayedexpansion)中,用来表示变量。即%var%变成!var!。