Windows последовательный запуск нескольких команд

Обновлено: 04.07.2024

как это на всех ОС Microsoft с 2000 года, и до сих пор хорошо сегодня:

если вы хотите, чтобы вторая команда выполнялась только при успешном завершении первой:

синтаксис single ampersand ( & ) для выполнения нескольких команд в одной строке восходит к Windows XP, Windows 2000 и некоторым более ранним версиям NT. (4.0 по крайней мере, согласно одному комментатору здесь.)

есть довольно много других моментов об этом, что вы найдете прокрутку вниз эта страница.

исторические данные для тех, кто может найти его образования.

до этого синтаксис && был только функцией замены оболочки 4DOS, прежде чем эта функция была добавлена в интерпретатор команд Microsoft.

В Windows 95, 98 и мне, вы бы использовать символ трубы вместо:

в MS-DOS 5.0 и более поздних версиях, через некоторые более ранние версии Windows и NT интерпретатора команд, (недокументированный) разделитель команд был символ 20 (Ctrl+T), который я буду представлять с ^T здесь.

  • Источник: Microsoft, Windows XP Professional Product Documentation,общие сведения о командной оболочке
  • & [. ]
    command1 & command2
    Используется для разделения нескольких команд в одной командной строке. УМК.exe запускает первую команду, а затем вторую команду.

  • && [. ]
    command1 && command2
    Использовать для выполнения команды&&, только если команда, стоящая перед символом успеха. УМК.exe запускает первую команду, а затем запускает вторую команду, только если первая команда выполнена успешно.

  • || [. ]
    command1 || command2
    Используется для выполнения следующей команды | / только в том случае, если предыдущая команда || завершается неудачно. УМК.exe запускает первую команду, а затем запускает вторую команду, только если первая команда не была выполнена успешно (получает код ошибки больше нуля).

  • ( ) [. ]
    (command1 & command2)
    Используется для группировки или вложения команд.

  • ; or ,
    command1 parameter1;parameter2
    Используйте для отдельные параметры.

& является эквивалентом Bash для ; ( команды run) и && является эквивалентом Bash && (запуск команд только тогда, когда предыдущая не вызвала ошибку).

вы можете использовать и выполнять команды одну за другой. Пример: c:\dir & vim myFile.txt

Если вы хотите создать ярлык cmd (например, на рабочем столе), добавьте параметр /k (/k означает keep, / c закроет окно):

можно использовать вызов чтобы преодолеть проблему оценки переменных среды слишком рано - например

cmd /c ipconfig /all & Output.txt

эта команда выполнить команду и открыть Output.txt файл в одной команде

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

чтобы выполнить две команды одновременно, необходимо поместить символ & (амперсанд) между двумя командами. Вот так:

Ура!

Я пытаюсь иметь два пинга в одном окне, и это последовательная команда в одной строке. После завершения первого, выполните вторую команду.

решение было объединить с start /b в командной строке Windows 7.

начнем, как обычно, без /b , и запуск в отдельном окне.

команда, используемая для запуска в той же строке:

В любом случае, если вы хотите разобрать вывод, я не рекомендую использовать это. Я заметил выходные данные скремблируются между выходными данными команд.

Ну, у вас есть два варианта: трубопровод, или просто & :

или

трубопровод ( | ) больше для принятия вывода одной команды, и положить его в другой. И ( & ) просто говорит запустить это и то.

нет, cd / && tree && echo %time% . Эхо-сигнал отображается в момент выполнения первой команды.

трубопровод имеет некоторые проблемы, но это не критично пока люди знают, как он работает.

все просто: просто дифференцируйте их с помощью & & знаков. Пример:

прощай мир будет напечатан после Привет мира.

еще один пример: например, когда мы используем gulp построить систему, а не

gulp - default > build

gulp build - build build-folder

gulp watch - start file-watch

gulp dist - build dist-folder

мы можем сделать это в одну строку:

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

может привести к большому количеству необработанных проблем, если вы используете его как %PATH%

Как запустить несколько команд в CMD (2 метода) 1

Есть много вещей, которые вы можете делать с помощью командной строки. Например, вы можете использовать лучшие команды CMD для выполнения основных задач. Точно так же бывают случаи, когда мы хотим запустить несколько команд в командной строке.

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

2 Лучшие методы для запуска нескольких команд в CMD

Да, вы можете запустить две команды в одной строке в Windows Командная строка. Для этого вам нужно создать файл пакетного сценария с помощью Блокнота. Ниже мы поделились двумя лучшими методами для запуска нескольких команд в CMD на Windows 10 компьютеров. Давай проверим.

1. Использование блокнота

Шаг 1. Прежде всего, откройте Блокнот на вашем компьютере.

Шаг 2. Теперь введите команды, которые вы хотите выполнить, одним щелчком мыши. В этом примере мы используем четыре команды, упомянутые выше.

Шаг 4. Теперь сохраните этот файл с .летучая мышь расширение. Например, DNSreset.bat

Шаг 5. Если вы хотите сбросить кеш DNS, дважды щелкните файл пакетного сценария.

Вот и все! Вы сделали. Вот как вы можете запускать несколько команд в командной строке.

2. Использование специальных символов

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

Вот и все! Вы сделали. Вы можете использовать эти знаки между командами по своему желанию.

Итак, эта статья посвящена тому, как запускать несколько команд в CMD на Windows 10. Надеюсь, эта статья вам помогла! Пожалуйста, поделитесь им также со своими друзьями. Если у вас есть какие-либо сомнения по этому поводу, сообщите нам об этом в поле для комментариев ниже.

Командная строка представляет собой программное средство ввода команд пользователем и получения результатов их выполнения на экране. В современных операционных системах семейства Windows, командную строку обеспечивает стандартное приложение cmd.exe , так же называемое командным процессором, интерпретатором команд и консолью. Приложение ”Командная строка” предоставляет пользователю текстовый интерфейс для ввода команд и получения результатов их выполнения. Фактически, командная строка является программным эмулятором классической консоли первых компьютерных систем, представляющей собой терминал с клавиатурой, используемый оператором в качестве средства общения с компьютером. Как и во времена первых компьютеров, командная строка поддерживает стандартное устройство ввода – клавиатуру, и стандартное устройство вывода – дисплей. Пользователь вводит команды с клавиатуры и получает результаты их выполнения на экране дисплея.

Запуск командной строки.

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

Пуск - Выполнить (или клавиши Win+R) введите cmd и нажмите клавишу Enter;

Пуск - Все программы - Стандартные - Командная строка»;

Пуск - Поиск - Командная строка. Также, для запуска командной строки можно использовать заранее подготовленный ярлык, ссылающийся на исполняемый файл %SystemRoot%\system32\cmd.exe ( обычно – C:\Windows\system32\cmd.exe). Выполнение некоторых команд требует повышенных привилегий, поэтому, приложение командной строки должно быть запущено с использованием пункта контекстного меню ”Запуск от имени администратора”, вызываемого правой кнопкой мышки.

Настройка командной строки.

Стандартное окно командной строки – это окно с символами белого цвета на черном фоне. Параметры шрифтов, цвет и фон символов, использование буфера обмена и прочие свойства командной строки можно изменить в соответствии со своими предпочтениями. Настройки можно выполнить изменяя свойства ярлыка, с помощью которого выполняется запуск приложения командной строки, либо правкой параметров реестра, относящихся к командному процессору.

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

Использование буфера обмена.

Текст, выделенный в окне приложения, можно скопировать в буфер обмена, а также вставить его из буфера обмена в поле ввода. При стандартных настройках командной строки для выделения текста используется пункт ”Пометить” контекстного меню, вызываемого правой кнопкой мышки. При желании, в свойствах ярлыка, с помощью которого выполняется запуск можно включить режим выделения мышью:

Настройки командной строки в Windows 10

В режиме выделения мышью, контекстное меню не используется, а текст выделяется с использованием левой кнопки мышки. Копирование и вставка выполняется при нажатии правой кнопки мышки. При включенном режиме ”Разрешить сочетания клавиш с CONTROL”, можно использовать стандартные сочетания клавиш:

- CTRL+C (CTRL+Insert) – скопировать выделенный текст.

- CTRL+V (Shift+Insert) – вставить выделенный текст.

Использование истории команд и горячих клавиш.

Для вызова ранее введенных команд используются клавиши со стрелками Стрелка Вверх - на одну команду назад и Стрелка Вниз - на одну команду вперед. Кроме того, можно использовать функциональные клавиши:

F1 - посимвольный вызов последней введенной команды. Каждое нажатие F1 приводит к последовательной подстановке в поле ввода одного символа из предыдущей команды.

F3 - вызов предыдущей команды.

F4 - удалить до символа. Выполняется удаление текста от текущей позиции курсора до заданного символа.

F5 и F8 - вызов буфера ранее введенных команд. Вывод по нажатию клавиши F5 прекращается когда будет отображена первая введенная команда текущей сессии.

F7 - отображение ранее введенных команд в отдельном окне в виде списка. Для выполнения нужной команды нужно выбрать ее, используя клавиши со стрелками, и нажать ENTER

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

В Windows 10 / Windows Server 2016 появились возможности, отсутствующие в предыдущих реализациях командной строки:

- Изменение прозрачности окна консоли при нажатии комбинаций CTRL + Shift + - или CTRL + Shift + + .

- Включение / выключение полноэкранного режима при нажатии CTRL+Enter .

- Расширение возможностей выделения текста и редактирования:

Shift+Home – выделить текст от текущего положения курсора до начала строки.

Shift+End – выделить текст от текущего положения курсора до конца строки.

- Быстрое перемещение по буферу экрана и поиск по контексту:

CTRL+Home – перейти в начало буфера экрана

CTRL+End – перейти в конец буфера экрана.

CTRL+Стрелка Вверх - перемещение на 1 строку вверх.

CTRL+Стрелка Вниз - перемещение на 1 строку вниз.

CTRL+F - открыть диалог поиска текста в буфере экрана.

Окно командной строки в Windows 10 можно закрыть с помощию стандартной комбинации клавиш - ALT+F4 .

Для отключения новых возможностей CMD, необходимо в свойствах приложения установить галочку ”Использовать прежнюю версию консоли (требуется перезапуск)”

Автодополнение путей файлов

В командной строке Windows можно выполнять подстановку имен файлов и каталогов при нажатии клавиши Tab . Например, для перехода, в каталог с длинным именем Program Files наберите начальную часть имени каталога

CD Pro и нажмите Tab. В строке ввода должна появиться команда :

CD "Program Files"

Как видим, выполняется подстановка недостающей части имени каталога, а в тех случаях, когда в нем имеется символ пробела, добавляются еще и двойные кавычки.

Если имеется несколько совпадающих начальных частей имен файлов или каталогов, при каждом нажатии клавиши Tab будет подставляться следующее по алфавитному порядку имя. Для возврата на предыдущее - используется комбинация Shift+Tab

Перенаправление данных стандартного ввода /вывода консоли.

Как уже упоминалось, в качестве стандартного устройства ввода командной строки используется клавиатура, а в качестве устройства вывода – дисплей. Однако, существует возможность перенаправления ввода-вывода на другие устройства c использованием операторов перенаправления:

ping –n 5 localhost > nul - выполнить пинг петлевого интерфейса 5 раз с перенаправлением вывода в фиктивное устройство nul . Вывод результатов выполнения команды подавляется. Подобный прием используется для организации задержки в командных файлах, поскольку пинг петлевого интерфейса выполняется почти мгновенно, а интервал между пингами равен одной секунде, время выполнения данной команды определяется значением параметра -n

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

ping -n 100 microsoft.com | find "Превышен интервал" - результат выполнения команды ping -n 100 microsoft.com передается в виде входных данных для команды поиска строк ( find ), содержащих текст "Превышен интервал".

ping -n 100 microsoft.com | find "Превышен интервал" > C:\ping-ya.txt - то же, что и в предыдущем примере, но с перенаправлением выводимых результатов выполнения команды в текстовый файл.

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

0 ( STDIN ) – дескриптор стандартного ввода (ввод с клавиатуры).

1 (STDOUT) – дескриптор стандартного вывода (вывод на экран).

Для задания перенаправления в существующие дескрипторы используется амперсанд (&), затем номер требуемого дескриптора (например, &1):

Если дескриптор не определен, то по умолчанию оператором перенаправления ввода будет ноль (0), а оператором перенаправления вывода > будет единица.

Объединение нескольких команд в цепочку

В командной строке Windows существует возможность последовательного выполнения нескольких команд в зависимости от результатов их выполнения. Для чего используются символы объединения команд - & (амперсанд) и | (вертикальная черта)

& - одиночный амперсанд используется для разделения нескольких команд в одной командной строке. Например:

&& - условное выполнение второй команды. Она будет выполнена, если код завершения (значение которого передается в стандартную переменную ERRORLEVEL) первой команды равен нулю, т.е. команда выполнена успешно.

команда1 && команда2 - выполняется команда1 , а команда2 выполняется, только если первая была выполнена успешно. Например:

Двойная вертикальная черта || - условное выполнение второй команды. Если первая команда завершилась с кодом возврата не равным нулю (неуспешно), то выполняется команда, следующая за двойной вертикальной чертой.

команда1 || команда2 - если команда1 выполнена неуспешно, то запускается на выполнение команда2

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

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

TYPE C:\plan.txt && DIR & COPY /?

команда COPY /? запустится в любом случае, независимо от результата выполнения команды TYPE C:\plan.txt . Но, несколько команд можно сгруппировать с помощью скобок. Например, есть 2 командные строки:

TYPE C:\plan.txt && DIR & COPY /?

TYPE C:\plan.txt && (DIR & COPY /?)

В первой из них символ условной обработки && действует только на команду DIR, во второй — одновременно на две команды: DIR и COPY. В качестве наглядного эксперимента, попробуйте выполнить вторую команду при условиях наличия и отсутствия файла C:\plan.txt . Для создания пустого файла можно воспользоваться копированием из фиктивного устройства nul :

copy nul C:\plan.txt

Для удаления файла используется команда erase c:\plan.txt или del C:\plan.txt

Командные файлы

Командные файлы (сценарии, скрипты) – это обычные текстовые файлы с заранее подготовленным набором команд для их выполнения командным процессором cmd.exe . Стандартно, такие файлы имеют расширение .bat или .cmd . Строки командных файлов могут содержать специфические команды самого процессора команд, например - FOR, ECHO, REM и т.п. или имена исполняемых модулей – reg.exe, sc.exe, auditpol.exe., которые можно использовать без расширения – reg, sc, auditpol. Пример простого командного файла:

REM Создается текстовый файл со списком каталога Windows
dir C:\Windows > %TEMP%\winlist.txt
REM выполняется задержка на 5 секунд
ping -n 5 localhost > nul
REM Файл открывается в редакторе WordPad
write %TEMP%\winlist.txt
REM После завершения работы Wordpad, текстовый файл удаляется.
erase C:\winlist.txt

Строки, начинающиеся с REM являются комментариями. В качестве примера, используются команды для работы с файловой системой и выполняется запуск приложения графической среды – текстового редактора Wordpad (write.exe) с передачей ему параметра командной строки (имя файла). Язык командных файлов довольно примитивен и не в полной мере соответствует требованиям сегодняшнего дня, однако, он является самым простым средством автоматизации рутинных действий и используется большинством системных администраторов и грамотных пользователей. Работа с командными файлами – это отдельная тема, более подробно изложенная на странице Командные файлы

Прочие материалы для освоения работы в командной строке Windows:

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

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

Пример:

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

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

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

Спасибо большое. Давно искал.

Крутяк, добавлю в закладки.

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

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

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

В командной строке можно объединять сразу несколько команд в одну строку (в один запуск). Например, вам нужно выполнить сначала одну команду, за ней вторую и так далее. Но вы хотите сразу вбить в командной строке одну инструкцию, которая все сделает.

Выполнение команд последовательно

Например, мы хотим выполнить сначала одну команду. Затем, когда она отработает (вернет управление в командную строку), нам нужно запустить вторую команду. Для этого служит символ «;». Таким образом, если набрать в терминале:

то сначала запустится первая команда command1 , а когда управление вернется в терминал, то запустится вторая и так далее.

Зависимое выполнение команд

то это означает, что команда command2 будет выполнена только в том случае, если команда command1 была выполнена успешно (вернула нулевой код завершения). Каждая следующая команда выполняется только при успешном выполнении предыдущей.

то команда command2 будет выполнена только в том случает, если command1 вернула ошибку (не нулевой код завершения). Каждая следующая команда запускается только если предыдущая вернула ошибку.

Такое поведение объясняется очень просто: интерпретируя И нет смысла выполнять вторую команду, если первая вернула ошибку. А интерпретируя ИЛИ нет смысла выполнять вторую команду если первая выполнилась с успехом.

Этот же результат будет получен в результате выполнения кода:

Первая команда echo выполняется при удачном выполнении команды grep , а вторая — при неудачном.

Эти операторы часто используются в условиях if :

Обе команды должны возвратить нулевой код завершения (логическая операция И ), чтобы выполнилась команда command3 . Этот фрагмент кода можно записать и так:

Еще одни пример использования:

Хотя бы одна команда должна возвратить нулевой код завершения (логическая операция ИЛИ ), чтобы выполнилась команда command3 . Этот фрагмент кода можно записать и так:

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

Итак, скажем, я хочу выполнить обновление SVN, а затем скопировать все файлы в другое место .

Если вы хотите выполнить несколько команд с 1 строкой, где вы, например, запускаете команды с start , если вы хотите выполнить команду следующим образом:

Затем вам нужно сделать это за 2 шага (однострочное решение находится в конце этого ответа).

Затем используйте start для запуска командного файла:

if you leave out the empty pair of double quote marks like this:

Если вы хотите, чтобы start дождался завершения командного файла (после отклонения pause ), до завершения start , вам нужно добавить переключатель /w в команду start :

Вы можете поместить все это вместе на одну строку и даже удалить (удалить) временный пакетный файл ( foobar.cmd ):

Обратите внимание, что если вы собираетесь удалить временный пакетный файл, вам нужно запустить start с помощью переключателя /w , в противном случае временный командный файл, вероятно, будет удален до того, как он сможет запустить.

Читайте также: