windows command(16):组合命令 & |

组合命令(Compound Command)主要有& && | ||等。

顺序执行多个命令&

cmd1 & cmd2 [& cmd3 ...]
相对于把多个语句并到一行了。

不管前一个命令是否执行成功,都会执行下一个命令
1
2
3
4
5
6
7
8
D:\test\test>dir A & echo hello
驱动器 D 中的卷是 LENOVO
卷的序列号是 0005-42D7
D:\test\test 的目录
找不到文件
hello

执行失败则不执行下一条语句&&

cmd1 && cmd2 [&& cmd3 ...]

echo hello不能被执行
1
2
3
4
5
6
7
D:\test\test>dir A && echo hello
驱动器 D 中的卷是 LENOVO
卷的序列号是 0005-42D7
D:\test\test 的目录
找不到文件

dir A && echo hello相当于

1
2
dir A
if %ERRORLEVEL% equ 0 (echo hello)

执行成功则不执行下一条语句||

cmd1 || cmd2 [|| cmd3 ...]

dir A不能被执行
1
2
D:\test\test>echo hello || dir A
hello

echo hello || dir A相当于

1
2
echo hello
if %ERRORLEVEL% neq 0 (dir A)

管道|

cmd1 | cmd2 [| cmd3 ...]
将前一条命令的执行结果作为后一条命令的参数。
netstat -n -p tcp|find ":80"