Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Sbornik_laboratornykh_rabot_i_KKR Осис.docx
Скачиваний:
22
Добавлен:
29.12.2021
Размер:
1.06 Mб
Скачать

2.4. Команды перенаправления ввода вывода

Средства перенаправления ввода-вывода существенным образом расширяют возможности и повышают гибкость командного языка и командных файлов операционных систем MS-DOS и Windows.

Перенаправление ввода-вывода – это подмена источника данных при вводе информации в программу или адресата выводимых результатов работы программы без ее модификации. При этом источниками данных и адресатами результатов работы являются файлы, а также периферийные устройства посимвольного типа (AUX, CON, COM1 – COM4, LPT1 – LPT3, NUL, PRN). Замену устройства ввода-вывода в командной строке операционной системы (или операционной оболочки типа Norton Commander) можно осуществить с помощью следующих конструкций:

process > file – перенаправление вывода из источника process в файл или устройство со спецификацией file. Если файл отсутствует, то он будет создан, а если уже существует – то будет замен;

process >> file – добавление выводных данных из источника process в конец существующего файла со спецификацией file. Если специфицированный файл отсутствует, то он будет создан;

process < file – перенаправление вводимых данных в приемник process из существующего файла или устройства со спецификацией file.

В приведенных конструкциях process – идентификатор программы или команды операционной системы. Перечисленные средства (операторы) перенаправления могут комбинироваться в одной командной строке. Пробелы, окаймляющие символы перенаправления ввода-вывода, могут отсутствовать.

В следующем примере осуществляется вывод содержимого текущего каталога дискового тома в текстовый файл FILELIST.TXT:

DIR > FILELIST.TXT

При перенаправлении потоков ввода-вывода операционная система может создавать временные файлы в текущем каталоге (папке) дискового тома либо в каталоге (папке), специально предназначенной для размещения временных файлов (например, C:\TEMP).

Другим средством перенаправления ввода-вывода является использование конвейеров, которые позволяют направить вывод данных одной программы или команды ОС на вход другой программы или команды. В данном случае конвейер представляет собой последовательность программ или команд, осуществляющих поэтапную обработку информационного потока. Конвейер реализует по сути единый, но сложный программный процесс. В командной строке ОС конвейер оформляется следующим образом:

process_1 | process_2 | … process_N

В качестве символа оператора конвейера используется | (символ с кодом 7C16 или 12410). Пробелы, окаймляющие оператор конвейера, могут отсутствовать. Конвейеризация может сочетаться в командной строке с другими средствами перенаправления ввода-вывода. Пример использования конвейера внутри командного файла для автоматического ввода ответа в программу или команду ОС с идентификатором process:

ECHO Y | process

Недокументированной возможностью оператора конвейера | является его использование в командной строке для разделения идентификаторов программ или команд ОС, не осуществляющих ввод-вывод данных. В этом случае оператор конвейера позволяет разместить в одной строке несколько последовательно выполняемых команд или программ, например:

IF EXIST Z:\*.* SET DRIVE=Z: | GOTO FORWARD

Отметим также, что стандартные средства командных файлов не предусматривают ввод символьных строк непосредственно с клавиатуры компьютера. Однако ввод символьных строк в командный файл может быть запрограммирован с помощью команды COPY в режиме копирования символов с клавиатуры во временный текстовый файл, например: