Учебники

Пакетный скрипт – ввод / вывод

Существует три универсальных «файла» для ввода с клавиатуры, печати текста на экране и ошибок печати на экране. Файл «Стандартный вход», известный как 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.