Запускайте command2, только если command1 преуспел в командной оболочке cmd - PullRequest
22 голосов
/ 13 сентября 2011

Как объединить команды на языке оболочки cmd, чтобы вторая команда выполнялась только в случае успешного завершения первой команды?

что-то вроде следующей команды bash

make && ./a.out

a.out выполняется, только если make прошло успешно

Ответы [ 2 ]

43 голосов
/ 13 сентября 2011

следующие

command1 && command2

должно работать и на cmd. Цитата здесь :

При использовании cmd.exe вы можете поместить несколько команд в одну строку, используя between & ’или‘ && ’между командами. Использование одного амперсанда (&) приведет к тому, что первая команда, а затем вторая команда будут выполняться последовательно. Использование двойных амперсандов (&&) вводит проверку ошибок. Вторая команда будет выполняться только в случае успешного выполнения первой команды .

14 голосов
/ 13 сентября 2011

Список AND имеет вид

command1 && command2

команда2 выполняется, если и только если команда1 возвращает нулевое состояние выхода.

Список ИЛИ имеет форму

command1 || command2

command2 выполняется тогда и только тогда, когда command1 возвращает ненулевой статус выхода. Статус возврата списков AND и OR - это статус завершения последней команды, выполненной в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...