Команды переадресации потоков ввода/вывода
Иногда бывает необходимо, чтобы данные, которые команда или программа MS-DOS обычно выводит на экран, были помещены в файл на диске, напечатаны на принтере и т.д. Удобно также, если команда или программа вместо ввода данных с клавиатуры берет соответствующие данные из файла на диске. При работе в режиме MS-DOS перечисленные возможности реализуются с помощью команд переадресации потоков ввода/вывода (эти команды были заимствованы у операционной системы UNIX).
Команды переадресации ввода/вывода задаются в командной строке MS-DOS:
Команда > имя_файла — перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл уже существовал, то он заменяется новым.
Например:
dir > prim.txt |
- Вывод оглавления текущего каталога в файд prim.txt. |
type a.txt > b.txt |
- Вывод файла a.txt перенаправляется в другой файл, т.е. фактически создается копия файла. |
copy a.txt a: > nul |
- Копирование файла a.txt на диск а:, при этом никаких сообщений не выдается (они будут перенаправлены в “фиктивное” устройство nul. |
Команда >> имя_файла — перенаправление в файл сообщений, выводимых с помощью указанной команды. Если файл уже существовал, то сообщения добавляются в конец этого файла.
Например:
dir >> prim.txt |
- Вывод оглавления текущего каталога в файл prim.txt. |
type a.txt > res.txt type b.txt >> res.txt |
- Файлы a.txt и b.txt сливаются в один файл (т.е. данная последовательность команд является аналогом команды copy a.txt+b.txt res.txt) |
Команда < имя_файла — чтение входных данных команды (программы) не с клавиатуры, а из файла.
Например: Если некоторая программа (например для работы с массивами), требует ввода большого количества данных, эти данные можно поместить в файл и перенаправлять на вход программы .
matr.exe < info.dat
Команда | команда — передача сообщений (конвейер), выводимых на экран первой командой, в качестве входных данных для второй команды.
Например:
echo y | del *.bak |
- Удаление всех файлов с заданным расширением из текущего каталога без подтверждения. На запрос “Are you sure?” (“Вы уверены?”) будет заранее дан ответ “Y” (“да”). Это довольно опасно, но может быть полезно, например, в командных файлах. |
dir | sort | more |
- Оглавление каталога сортируется и постранично выводится на экран |
xcopy /? | more |
- Информация о команде выводится на экран постранично. |
Зарезервированные имена устройств ms-dos
Некоторые стандартные устройства компьютера имеют собственные имена, которые могут использоваться на месте имени файла в командах MS-DOS. Список таких имен приведен в таблице (примеры см. на следующей странице).
Имя |
Устройство |
CON |
“Консоль” (данное слово при вводе информации обозначает клавиатуру, при выводе — экран монитора). |
|
|
|
|
|
|
LPT1 или PRN |
Первый параллельный порт (принтер). |
LPT2 |
Второй параллельный порт. |
LPT3 |
Третий параллельный порт. |
NUL |
Несуществующее (“фиктивное”) устройство. Если используется как устройство вывода, моделируются операции вывода без отображения данных. |