Как одновременно выполнить несколько команд в командной строке

Как одновременно выполнить несколько команд в командной строке

Для объединения команд в командной строке в одну строку, используются специальные символы, которые называются символами условной обработки. У командного процессора в MS-DOS и интерпретатора командной строки Windows в виде COMMAND.com или CMD.exe их существует в количестве пяти штук, но нас интересует только три из них.

Использование символов условной обработки

Для экранирования описанных ниже символов &, &&, || следует использовать специальный символ ^.
  • Символ: &
    Написание в одну строку: команда 1 & команда 2
    Написание в несколько строк:

    команда 1
    команда 2

    В командной строке можно выполнить две и более команды, написав их в одну строку (команду), и разделив их символом &. Работает это следующим образом: после выполнения первой команды, будет выполнена вторая команда, и т. д. В качестве примера рассмотрим запуск Калькулятора (calc.exe), а затем - Блокнота (notepad.exe):

    calc.exe & notepad.exe
  • Символ: &&
    Написание в одну строку: команда 1 && команда 2
    Написание в несколько строк:

    команда 1
    if %errorlevel% EQU 0 команда 2

    В отличии от предыдущего варианта, при разделении команд с помощью символов &&, команда, следующая после данных символов, будет выполнена только в том случае, если первая команда была завершена без ошибок. Например, попробуем запустить процесс форматирования диска F:, и если оно выполнится успешно - скопируем туда содержимое директории D:\Archive. Соответственно, если форматирование завершится с ошибкой, то и вторая команда на копирование не будет работать.

    format F: /Q && copy D:\Archive\*.* F:
  • Символ: ||
    Написание в одну строку: команда 1 || команда 2
    Написание в несколько строк:

    команда 1
    if %errorlevel% NEQ 0 команда 2

    Полная противоположность предыдущему варианту - вторая команда срабатывает только при условии того, что первая команда не была успешно выполнена. К примеру, попробуем запустить несуществующую программу program.exe, а поскольку такой не существует (т. е. первая команда завершится с ошибкой) - запустим вторую программу в виде Калькулятора (calc.exe):

    program.exe || calc.exe
  • Символ: ( и )
    Написание в одну строку: (команда 1 & команда 2) && команда 3

    В некоторых случаях может понадобится написать более сложные условия выполнения команд в одной строке, где от результата выполнения команды зависят дальнейшие действия. Здесь на помощь придут операторы ( и ), позволяющие группировать команды. К примеру, нужно проверить наличие файла по адресу F:\data.txt, и если он есть - открыть его в Блокноте, если же его нет - предварительно скопировать его по адресу D:\data.txt и уже после этого открыть в Блокотне.

    dir F:\data.txt && (notepad.exe F:\data.txt) || (copy D:\data.txt F:\data.txt & notepad.exe F:\data.txt)

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

Была ли эта статья Вам полезна?

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

Ваш адрес email не будет опубликован.

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.