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

  • 13.09.2020
  • 9 611
  • 4
  • 30
  • 30
  • 0
Как одновременно выполнить несколько команд в командной строке

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

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

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

Комментарии к статье (4)

    • Валерий

    Здравствуйте, подскажите, пожалуйста, каким образом, выполняется запись команд в "cmd exe" в несколько строк на "windows 10 pro"?

    • Если я правильно понял вопрос - то так же, как и написано в самом первом примере - calc.exe & notepad.exe.

    • Pharalone

    Не получилось сделать так:
    start color 0a & echo off

      • Recluse

      А вариант с просто color 0a & echo off не подходит?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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