Для того чтобы выполнить несколько команд из одной командной строки, нужно объединить их с помощью символа условной обработки:
-
команда1 & команда2
— Используется для разделения нескольких команд в одной командной строке. В cmd.exe выполняется первая команда, затем вторая команда. -
команда1 && команда2
— Запускает команду, стоящую за символом &&, только если команда, стоящая перед этим символом была выполнена успешно. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая была выполнена успешно. -
команда1 || команда2
— Запускает команду, стоящую за символом ||, только если команда, стоящая перед символом || не была выполнена. В cmd.exe выполняется первая команда. Вторая команда выполняется, только если первая не была выполнена (полученный код ошибки превышает ноль).
Пример:
attrib -H "file.txt" && ren "file.txt" "file.tmp"
С файла file.txt будет снят атрибут "Скрытый" и если команда attrib
при этом не вернёт ошибку, файл будет переименован в file.tmp.
Комментарии
Большое спасибо за статью! Именно то, что мне было нужно.
Офигеть! Полезные советы! Спасибо!
Спасибо большое. Давно искал.
Крутяк, добавлю в закладки!!!
пфффффффффффф вот это лайфхак епт, я тут тыркаю по 6 команд в гите поштучно, а тут вон оно че Михалыч. спасибо большое!
одна вертикальная черта | используется когда нужно выполнить одновременно несколько команд, не зависимо от результата и завершения предыдущей команды
Одна вертикальная черта | перенаправляет вывод предыдущей команды следующей. Например type "file1.txt" | find ''string1" ищет в файле строку содержащую "string1" и выводит ее. Этот вывод можно отправить через | на следующую команду. Или, используя пример: (type "file1.txt" | find ''string1" >nul) && (команды если строка найдена) || (команды если строка не найдена)
При одной вертикальной линии команды выполняются всё равно последовательно.
Спасибо!
Добавить комментарий