Перенаправление ввода, вывода и группирование команд в командной строке Windows.

Синтаксис перенаправление ввода, вывода:

  1. comand1 | comand2 Вывод первой команды служит вводом для второй.
  2. comand1 < [имя файла] Ввод команды поступает из заданного файла. comand1 > [имя файла] Вывод команды направляется в заданный файл, если файла нету, то он создается, если есть перезаписывается.
  3. comand1 >> [имя файла] Вывод команды направляется в заданный файл, если файла нету, то он создается, если есть вывод добавляется к нему.
  4. comand1 < [имя файла 1] > [имя файла 2] Ввод команды поступает из первого файла, а вывод направляется во второй с перезаписью.
  5. comand1 < [имя файла 1] >> [имя файла 2] Ввод команды поступает из первого файла, а вывод дописывается во второй.
  6. comand1 2> [имя файла] Создается файл в который направляется вывод ошибок.
  7. comand1 2>&1 [имя файла] Стандартный вывод и ошибки пишутся в один файл.

Цепочки команд:

  1. comand1 & comand2 Выполняется comand1, а затем comand2.
  2. comand1 && comand2 comand2 выполняется , если comand1 выполнена успешно.
  3. comand1 || comand2 comand2 выполняется , если comand1 не выполнена успешно.

Группировка команд:

  1. (comand1 & comand2) && (comand3) comand3 выполняется , если comand1 и comand2 выполнена успешно.

Пример.

Получаем список установленного ПО, если в списке есть необходимое нам удаляем, если нет заканчиваем выполнение команд. Если удаление прошло успешно записываем в лог имя ПК.

wmic product get name | find "Java Auto Updater" && 
wmic product where name="Java Auto Updater" call uninstall && 
echo %COMPUTERNAME% >> JavaAutoUpdaterUninstall.log

Эта статья — краткий конспект из книги Уильям Р. Станек (William R. Stanek) «Командная строка Microsoft Windows». Более подробно в ней.