- •Лабораторная работа № 1-04
- •4.2. Вызов командного файла
- •4.3. Команды, используемые в командных файлах
- •4.3.1. Команда echoи префикс @
- •4.3.2. Команда cls
- •4.3.3. Командаrem
- •4.3.4. Командаcolor
- •4.3.5. Команды pushd и popd
- •4.3.6. Метки и команда goto
- •4.3.7. Команда if
- •If условие команда
- •4.3.8. Команда find
- •4.3.9. Команда findstr
- •4.3.10. Команда sort
- •4.3.11. Команда for
- •4.3.12. Команда set
- •4.3.13. Команды setlocalиendlocal
- •4.3.14. Команда call
- •4.3.15. Команда start
- •4.3.16. Команда cmd
- •4.3.17. Командаpause
- •Для продолжения нажмите любую клавишу . . .
- •4.4. Последовательности команд
- •4.5. Пример командного файла
- •5. Порядок выполнения работы
- •Вариант 5-01
- •Вариант 5-02
- •Вариант 5-03
- •Вариант 5-04
- •Вариант 5-05
- •Вариант 5-06
- •Вариант 5-07
- •Вариант 5-08
- •Вариант 5-09
- •Вариант 5-10
- •Вариант 5-11
- •Вариант 5-12
- •Вариант 5-13
- •Вариант 5-14
- •Вариант 5-15
- •6. Содержание отчета
- •7. Вопросы для самоконтроля
4.3.8. Команда find
Команда findвыполняет поиск заданной строки текста в файле или нескольких файлах. Команда имеет следующий синтаксис:
find[/v] [/c] [/n] [/i]"строка-поиска"[[диск:][путь]имя-файла[...]]
Обязательный параметр "строка-поиска" задает последовательность символов, для которой будет производиться поиск. Параметр [[диск:][путь]имя-файла[...]] задает путь к файлу. Если этот параметр не указан, данные берутся из стандартного ввода команды.
Опции команды findдействуют следующим образом:
/v– выводит все строки, не содержащие строку, заданную параметром"строка-поиска"(если эта опция не задана, выводятся все строки, содержащие строку"строка-поиска");
/c– вывод количества строк, содержащих строку поиска;
/n– вывод номеров строк перед строками;
/i – поиск без различия строчных и заглавных букв.
4.3.9. Команда findstr
Команда findstrтакже выполняет поиск заданной строки текста в файле или нескольких файлах, однако обладает большими возможностями по сравнению с командойfind.
Команда findstrимеет следующий синтаксис:
findstr[/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:файл] [/f:файл] [/c:строка] [/d:список-папок] [/a:атрибут-цвета] [строка] [[диск:][путь]имя-файла[...]]
Параметр строка– задает строку (шаблон), поиск которой производится в файле, заданном параметром [диск:][путь]имя-файла. Если параметр содержит пробелы, он должен быть заключен в апострофы ("). Параметров [диск:][путь]имя-файламожет быть задано несколько (в этом случае поиск производится во всех заданных файлах.
Для команды findstrопределены следующие опции:
/b– сравнивает шаблон с началом строки;
/e– сравнивает шаблон с концом строки.
/r– использует строку поиска как регулярное выражение, в котором некоторые символы интерпретирует как метасимволы (см. ниже);
/l– использует строку поиска как обычную строку, т.е. строку, в которой метасимволы интерпретируются как обычные символы;
/s– задает поиск файлов в текущей папке и содержащихся в ней папках;
/i– задает поиск без различия строчных и заглавных букв;
/x– выводит в выходной поток точно совпавшие строки;
/v– выводит в выходной поток строки, не содержащие совпадений;
/n– выводит в начале совпавшей строки ее номер;
/m– при обнаружении совпадения выводит только имя файла;
/o– выводит смещение перед выводом строки с совпадением;
/p– пропускает файлы с непечатаемыми символами (например, программные файлы);
/offline– обрабатывает файлы с атрибутом «автономный»;
/f:файл– читает список из заданного файла;
/c:строка– использует заданную строку как символьную строку поиска;
/g:файл– получает строки поиска из заданного файла;
/d:список-папок– выполняет поиск в списке папок, разделенных запятыми;
/a:фт– задает атрибуты цвета:ф– для фона ит– для текста двумя шестнадцатеричными цифрами (см. 4.3.4).
Метасимволы– это символы в шаблоне, имеющие специальное значение. В командеfindstrможно использовать следующие метасимволы:
символ .– любой одиночный символ;
символ *– предшествующий этому символу символ или класс может повторяться 0 или более раз;
символы .* – любая строка символов;
символ ^– поиск в начале строки;
символ $– поиск в конце строки;
[класс]– любой символ из множествакласс;
[^класс]– любой символ, не заданный во множествекласс;
[символ1-символ2]– любой символ в диапазоне отсимвол1досимвол2;
\>строка– строка поиска, находящаяся в начале слова;
строка\>– строка поиска, находящаяся в конце слова;
\метасимвол– метасимвол (.,*,^,$,[или\) трактуется как обычный символ.
В строке поиска можно задать несколько строк, разделенных пробелами. В этом случае достаточно, чтобы хотя бы одна из этих строк присутствовала в просматриваемой строке. Однако, если строка поиска задана в опции /c, то выполняется поиск на совпадение всех символов строки.