Как одновременно выполнить несколько команд в командной строке
- Recluse
- 13.09.2020
- 9 302
- 4
- 29
- 29
- 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)
В прочем ничто не мешает изменить условия, заменив операторы, и подстроив команды под нужный Вам сценарий.
Добавить комментарий