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

Для объединения команд в командной строке в одну строку, используются специальные символы, которые называются символами условной обработки. У командного процессора в 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 не будет опубликован. Обязательные поля помечены *