Разное → Выполнение нескольких команд в консоли Windows (cmd)

08.01.2010

Для того чтобы выполнить несколько команд из одной командной строки, нужно объединить их с помощью символа условной обработки:

  • команда1 & команда2 — Используется для разделения нескольких команд в одной командной строке. В cmd.exe выполняется первая команда, затем вторая команда.

  • команда1 && команда2 — Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно.

  • команда1 || команда2 — Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).

Пример:

attrib -H "file.txt" && ren "file.txt" "file.tmp"

С файла file.txt будет снят атрибут "Скрытый" и если команда attrib при этом не вернёт ошибку, файл будет переименован в file.tmp.

Похожие записи

Комментарии

Большое спасибо за статью! Именно то, что мне было нужно.

Офигеть! Полезные советы! Спасибо!

Ki11qwerty
12.04.2018, 20:06

пфффффффффффф вот это лайфхак епт, я тут тыркаю по 6 команд в гите поштучно, а тут вон оно че Михалыч. спасибо большое!

Гость
17.08.2018, 13:01

одна вертикальная черта | используется когда нужно выполнить одновременно несколько команд, не зависимо от результата и завершения предыдущей команды

Гость
25.10.2018, 12:31

Одна вертикальная черта | перенаправляет вывод предыдущей команды следующей. Например type "file1.txt" | find ''string1" ищет в файле строку содержащую "string1" и выводит ее. Этот вывод можно отправить через | на следующую команду. Или, используя пример: (type "file1.txt" | find ''string1" >nul) && (команды если строка найдена) || (команды если строка не найдена)

Гость
12.11.2018, 08:57

При одной вертикальной линии команды выполняются всё равно последовательно.

Добавить комментарий