Запустить команду2 только в том случае, если command1 удался в оболочке окон cmd
Как мы объединяем команды в языке cmd shell, так что вторая команда выполняется только в том случае, если первая команда успешно завершена?
что-то вроде следующей bash -command
make && ./a.out
a.out
выполняется только в том случае, если make
был успешным
Ответы
Ответ 1
Следующие
command1 && command2
должен работать и на cmd
. Цитата из здесь:
При использовании cmd.exe вы можете поместить несколько команд в одну и ту же строку, используя '& или '& & между командами. Использование одного амперсанда (&) приведет к первой команде, а затем вторая команда будет запущена последовательно. Использование двойных амперсандов (&) вводит проверку ошибок. Вторая команда будет работать только в том случае, если первая команда успешна.
Ответ 2
Список AND имеет вид
command1 && command2
command2 выполняется, если и только в том случае, если команда1 возвращает статус выхода из нуля.
Список OR имеет вид
command1 || command2
command2 выполняется тогда и только тогда, когда command1 возвращает ненулевой статус выхода. Возвращаемым статусом списков AND и OR является статус выхода последней команды, выполненной в списке.