Операторы перенаправления команд используются для изменения местоположений потоков ввода и вывода команд, заданных по умолчанию, на какие-либо другие.
Ниже описаны наиболее часто употребляемые операторы перенаправления потоков ввода и вывода команд.
- >
- Записывает данные на выходе команды вместо командной строки в файл или на устройство, например, на принтер.
- <
- Читает поток входных данных команды из файла, а не с клавиатуры.
- >>
- Добавляет выходные данные команды в конец файла, не удаляя при этом существующей информации из файла.
- |
- Считывает выходные данные одной команды и записывает их на вход другой команды. Эта процедура известна под названием «канал».
По умолчанию, входные данные команды (дескриптор STDIN) отсылаются с клавиатуры интерпретатору команд Cmd.exe, далее Cmd.exe отправляет выходные данные команды (дескриптор STDOUT) в окно командной строки.
Перенаправление ввода команд (<)
Для перенаправления ввода команд с цифровой клавиатуры на файл или на устройство используйте оператор "<". Например, для ввода команды sort из файла file.txt введите:
sort<file.txt
Содержимое файла file.txt появится в командной строке в виде списка в алфавитном порядке.
Перенаправление вывода команд (>)
Выходные данные практически всех команд высвечиваются в окне командной строки. Даже команды, выводящие данные на диск или принтер, выдают сообщения и запросы в окне командной строки.
Для перенаправления вывода команд из окна командной строки в файл или на устройство применяется оператор ">". Этот оператор используется с большинством команд. Например, для перенаправления вывода команды dir в файл dirlist.txt введите:
dir>dirlist.txt
Если файл dirlist.txt не существует, интерпретатор команд cmd.exe создаст его. Если файл существует, cmd.exe заменит информацию в файле на данные, полученные от команды dir.
Использование оператора ">>" для добавления вывода
Для добавления выходных данных команды в конец файла без потери хранящейся в нем информации используется двойной символ «больше» (>>). Например, следующая команда добавляет список каталогов, созданный командой dir, в файл dirlist.txt:
dir>>dirlist.txt
Использование оператора канала (|)
Оператор канала "вертикальная линия" (|) забирает выходные данные одной команды (по умолчанию STDOUT) и направляет их на вход другой команды (по умолчанию STDIN). Например, следующая команда сортирует каталог:
dir | sort