Виконайте другу команду після першого завершення або помилок


17

Я знаю, що ви можете виконати дві команди послідовно, з одним рядком, розмістивши &&між ними так:

hostname && w32tm /query /configuration

Однак ця &&функція має обмеження: вона виконує другу команду лише в тому випадку, коли перша успішна.

Моє переважне використання - &&це запускати інформаційні команди безпосередньо з Пуск-> Виконати (або Win+ R) без необхідності вводити їх у вікно CMD або турбуватися про те, що консоль CMD не буде достроково закрита. Наприклад:

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

Через вищезазначене обмеження, ця команда автоматично вийде з вікна консолі, якщо w32tm не вдасться - тобто: Якщо служба Windows Windows не працює.

Чи є аналогічний оператор, який я можу використовувати для з'єднання рядкових команд в одному рядку, що дозволить виконувати другу команду, навіть якщо перші помилки виходять?

Я шукаю, щоб це було сумісним від Windows XP вгору.

Відповіді:


23

Просто використовуйте &замість &&. Друга команда буде виконана, навіть якщо перша не вдасться.


6
Ось документація на нього: microsoft.com/resources/documentation/windows/xp/all/proddocs/…
Der Hochstapler

2
що робити, якщо я хочу command2бути страченим лише у разі command1невдачі? (XOR)
AK_

Потім використовуйтеcommand1 || command2
Чад Горшинг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.