Существует три универсальных «файла» для ввода с клавиатуры, печати текста на экране и ошибок печати на экране. Файл «Стандартный вход», известный как stdin , содержит входные данные для программы / скрипта. Файл «Standard Out», известный как stdout , используется для записи вывода для отображения на экране. Наконец, файл «Standard Err», известный как stderr , содержит любые сообщения об ошибках для отображения на экране.
На каждый из этих трех стандартных файлов, иначе называемых стандартными потоками, ссылаются с помощью чисел 0, 1 и 2. Stdin — это файл 0, stdout — это файл 1, а stderr — это файл 2.
Перенаправление вывода (Stdout и Stderr)
Обычной практикой в пакетных файлах является отправка вывода программы в файл журнала. Оператор> отправляет или перенаправляет stdout или stderr в другой файл. В следующем примере показано, как это можно сделать.
Dir C:\ > list.txt
В приведенном выше примере стандартный вывод команды 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.