1. @
@ 命令行回显屏蔽符,关闭当前行的回显。
2. %
% 批处理变量引导符
引用变量用 %var% ,调用程序外部参数用%1至%9等等
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %为命令行传递给批处理的参数
%0 批处理文件本身,包括完整的路径和扩展名
%1 第一个参数
%9 第九个参数
% 从第一个参数开始的所有参数
参数%0具有特殊的功能,可以调用批处理自身,以达到批处理本身循环的目的,也可以复制文件自身等等。
复制自身
@echo off
echo 今夜月明人尽望,不知秋思落谁家
copy %0 poem1.txt
pause
3. >
重定向符
DOS的标准输入输出通常是在标准设备键盘和显示器上进行的,利用重定向,可以方便地将输入输出改向磁盘文件或其它设备。其中:
1.大于号“>”将命令发送到文件或设备,例如打印机>prn。使用大于号“>”时,有些命令输出(例如错误消息)不能重定向。
2.双大于号“>>”将命令输出添加到文件结尾而不删除文件中已有的信息。
3.小于号 “<” 从文件而不是键盘上获取命令所需的输入。
4.>& 符号将输出从一个默认I/O流(stdout,stdin,stderr)重新定向到另一个默认I/O流。
我们的 javase 专栏就有专门讲过 输入输出流,就提到 System 类 in、out 重定向。
@echo off
echo 今夜月明人尽望,不知秋思落谁家 > 诗词大会.txt
echo 两岸青山相对出,孤帆一片日出来 > 诗词大会.txt
pause
覆盖掉了
4. |
命令管道符
第一条命令 | 第二条命令 [| 第三条命令…]
将第一条命令的结果作为第二条命令的参数来使用
5. ||
组合命令
第一条命令 || 第二条命令 [|| 第三条命令…]
用这种方法可以同时执行多条命令,当一条命令失败后才执行第二条命令
和 java 中一样,估计别的语言也差不多这样
6. &
组合命令
第一条命令 & 第二条命令 [& 第三条命令…]
这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。
这里&两边的命令是顺序执行的,从前往后执行。
比如:
dir z:\ & dir y:\ & dir c:
以上命令会连续显示z,y,c盘的内容,而不理会该盘是否存在
7. &&
组合命令
第一条命令 && 第二条命令 [&& 第三条命令…]
用这种方法可以同时执行多条命令,当碰到执行出错的命令后将不执行后面的命令
和我们的 java 是一样的。
8. ^
转义字符
^是对特殊符号<,>,&的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意义。
颜色已经变了
9. “”
字符串界定符
双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法
cd “program files”
10. ,
相当于空格
11.()
() 中的命令被当做一条命令
echo 1 & echo 2 & echo 3
(
echo 1
echo 2
echo 3
)
他两的效果是一样的。
12. !
就是变量延迟的作用了