Пакетный скрипт - ввод / вывод
Есть три универсальных «файла» для ввода с клавиатуры, печати текста на экране и печати ошибок на экране. Стандартный входящий файл, известный какstdin, содержит ввод в программу / скрипт. Файл «Standard Out», известный какstdout, используется для записи вывода для отображения на экране. Наконец, файл «Standard Err», известный какstderr, содержит сообщения об ошибках для отображения на экране.
На каждый из этих трех стандартных файлов, иначе называемых стандартными потоками, ссылаются с использованием номеров 0, 1 и 2. Stdin - это файл 0, stdout - файл 1, а stderr - файл 2.
Перенаправление вывода (Stdout и Stderr)
Одна из распространенных практик в пакетных файлах - это отправка вывода программы в файл журнала. Оператор> отправляет или перенаправляет stdout или stderr в другой файл. В следующем примере показано, как это можно сделать.
Dir C:\ > list.txt
В приведенном выше примере stdout команды Dir C: \ перенаправляется в файл list.txt.
Если вы добавите число 2 к фильтру перенаправления, он перенаправит stderr в файл lists.txt.
Dir C:\ 2> list.txt
Можно даже совместить stdout и stderrпотоки, используя номер файла и префикс '&'. Ниже приводится пример.
DIR C:\ > lists.txt 2>&1
Подавление вывода программы
Псевдо-файл NUL используется для отбрасывания любого вывода программы. В следующем примере показано, что вывод команды DIR отбрасывается путем отправки вывода в NUL.
Dir C:\ > NUL
Stdin
Чтобы работать со стандартным вводом, вы должны использовать обходной путь. Это можно сделать, перенаправив собственный stdin командной строки, называемый CON.
В следующем примере показано, как перенаправить вывод в файл с именем lists.txt. После того, как вы выполните приведенную ниже команду, командная строка будет принимать весь ввод, введенный пользователем, до тех пор, пока не получит символ EOF. Позже он отправляет все входные данные в файл lists.txt.
TYPE CON > lists.txt