Run command2 only if command1 succeeded in cmd win

2020-05-30 04:01发布

问题:

How do we combine commands in cmd shell language such that the second command is only executed if the first command successfully completed?

something like following bash-command

make && ./a.out

a.out is only executed if make was successful

回答1:

The following

command1 && command2

should work on cmd as well. Quote from here:

When using cmd.exe, you can put multiple commands on the same line by using ‘&’ or ‘&&’ between commands. Using a single ampersand (&) will cause the first command and then the second command to be run in sequence. Using double ampersands (&&) introduces error checking. The second command will run only if the first command is successful.



回答2:

An AND list has the form

command1 && command2

command2 is executed if, and only if, command1 returns an exit status of zero.

An OR list has the form

command1 || command2

command2 is executed if and only if command1 returns a non-zero exit status. The return status of AND and OR lists is the exit status of the last command executed in the list.