Составители:
6
в существующие дескрипторы используется амперсанд (&), затем номер требуе-
мого дескриптора (например, &номер_дескриптора). Например, для перенаправ-
ления дескриптора 2 (STDERR) в дескриптор 1 (STDOUT) введите: 1>&2.
Например, чтобы сообщения об ошибках и результаты работы скрипта вы-
водились в файл, подаем команду:
myScript.bat >res.txt 2>&1
Здесь сначала стандартный вывод перенаправляется в файл, а затем деск-
риптор потока STDERR перенаправляется туда же, куда перенаправлен STDOUT.
Если же поменять местами операции перенаправления:
myScript.bat 2>&1 1>res.txt
то STDERR будет сначала перенаправлен на поток STDOUT (консоль), а уже за-
тем STDOUT перенаправляется в файл. В результате полезный вывод будет на-
правлен в файл, а ошибки – на экран.
В операторах перенаправления вместо имени файла можно указывать стан-
дартные обозначения устройств компьютера. В Windows поддерживаются сле-
дующие имена устройств: PRN (принтер),LPT1–LPT3 (соответствующие парал-
лельные порты), AUX (устройство, присоединяемое к последовательному порту
1), COM1–COM3 (соответствующие последовательные порты), CON (терминал:
при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все
операции ввода/вывода для него игнорируются).
Примеры.
Вывод в файл папки.txt списка всех папок из текущей папки
dir /A:D /B >папки.txt
Вывод справки по команде tasklist в файл tasklist _hlp.txt
tasklist /? > tasklist_hlp.txt
Дописать в файл check_connect.txt результат проверки IP-соединения с уз-
лом www.volpi.ru
ping www.volpi.ru >>check_connect.txt
Перенаправить сообщения об ошибках работы команды в файл error.txt
taskkill /s comp1 /pid 1022 2>error.txt
Сменить дату на 1.1.2013
echo 1.1.2013 | date
В последнем примере использован оператор конвейеризации |. С его помо-
щью можно сообщения, выводимые первой командой, передавать в качестве
входных данных для второй команды. В данном случае в качестве входных дан-
ных для команды date, ожидающей на входе значение новой даты в формате
дд.мм.гггг, использован вывод первой команды (echo), которая выводит на экран
заданную строку-параметр. Если заранее записать новую дату в файл date.txt, то
изменение даты возможно и такой командой:
date < date.txt
Оператор конвейера наиболее эффективен в комбинации с фильтрующими
командами. Команды-фильтры дают возможность сортировать, просматривать и
отбирать часть выходной информации других команд. Фильтры делят, переупо-
рядочивают или выделяют отдельные части из проходящей через них информа-
ции. В приведенной ниже таблице перечислены команды-фильтры, доступные в
в существующие дескрипторы используется амперсанд (&), затем номер требуе- мого дескриптора (например, &номер_дескриптора). Например, для перенаправ- ления дескриптора 2 (STDERR) в дескриптор 1 (STDOUT) введите: 1>&2. Например, чтобы сообщения об ошибках и результаты работы скрипта вы- водились в файл, подаем команду: myScript.bat >res.txt 2>&1 Здесь сначала стандартный вывод перенаправляется в файл, а затем деск- риптор потока STDERR перенаправляется туда же, куда перенаправлен STDOUT. Если же поменять местами операции перенаправления: myScript.bat 2>&1 1>res.txt то STDERR будет сначала перенаправлен на поток STDOUT (консоль), а уже за- тем STDOUT перенаправляется в файл. В результате полезный вывод будет на- правлен в файл, а ошибки – на экран. В операторах перенаправления вместо имени файла можно указывать стан- дартные обозначения устройств компьютера. В Windows поддерживаются сле- дующие имена устройств: PRN (принтер),LPT1–LPT3 (соответствующие парал- лельные порты), AUX (устройство, присоединяемое к последовательному порту 1), COM1–COM3 (соответствующие последовательные порты), CON (терминал: при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются). Примеры. Вывод в файл папки.txt списка всех папок из текущей папки dir /A:D /B >папки.txt Вывод справки по команде tasklist в файл tasklist _hlp.txt tasklist /? > tasklist_hlp.txt Дописать в файл check_connect.txt результат проверки IP-соединения с уз- лом www.volpi.ru ping www.volpi.ru >>check_connect.txt Перенаправить сообщения об ошибках работы команды в файл error.txt taskkill /s comp1 /pid 1022 2>error.txt Сменить дату на 1.1.2013 echo 1.1.2013 | date В последнем примере использован оператор конвейеризации |. С его помо- щью можно сообщения, выводимые первой командой, передавать в качестве входных данных для второй команды. В данном случае в качестве входных дан- ных для команды date, ожидающей на входе значение новой даты в формате дд.мм.гггг, использован вывод первой команды (echo), которая выводит на экран заданную строку-параметр. Если заранее записать новую дату в файл date.txt, то изменение даты возможно и такой командой: date < date.txt Оператор конвейера наиболее эффективен в комбинации с фильтрующими командами. Команды-фильтры дают возможность сортировать, просматривать и отбирать часть выходной информации других команд. Фильтры делят, переупо- рядочивают или выделяют отдельные части из проходящей через них информа- ции. В приведенной ниже таблице перечислены команды-фильтры, доступные в 6
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »