Запустите вторую команду после первого или ошибок

17

Я знаю, что вы можете запустить две команды подряд, с одной строкой, поместив &&между ними, как это:

hostname && w32tm /query /configuration

Однако эта &&функция имеет ограничение: она выполняет вторую команду только в том случае, если первая успешна.

Я предпочитаю использовать для &&запуска информационных команд непосредственно из Пуск-> Выполнить (или Win+ R) без необходимости вводить их в окно CMD или беспокоиться о преждевременном выходе консоли CMD. Например:

cmd /c hostname && w32tm /query /configuration && pause

Однако из-за вышеупомянутого ограничения эта команда автоматически выйдет из окна консоли в случае сбоя w32tm, т.е. если служба времени Windows не запущена.

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

Я ищу, чтобы это было совместимо с Windows XP и выше.

Iszi
источник

Ответы:

23

Просто используйте &вместо &&. Вторая команда будет выполнена, даже если первая не удалась.

Гуркен Папст
источник
6
Вот документация для него: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
Der Hochstapler
2
Что command2делать, если я хочу, чтобы казнили только тогда, когда command1не удается? (XOR)
AK_
Тогда используйтеcommand1 || command2
Чад Горшинг