Поиск файлов по маске
💻 Информатика · 7 класс
Зачем нужна маска имени
Когда на диске много файлов, найти нужные по одному неудобно. Чтобы отобрать сразу целую группу файлов, используют маску имени файла — образец, в котором часть символов заменена специальными знаками-шаблонами. Файл попадает в результат поиска, если его имя подходит под маску.
Символы-шаблоны
В маске используют два специальных символа. Звёздочка * заменяет любое количество любых символов (в том числе ни одного). Знак вопроса ? заменяет ровно один любой символ. Остальные символы маски должны совпадать с именем файла буквально.
| Символ | Что заменяет |
|---|---|
* | любое число любых символов |
? | ровно один любой символ |
Примеры масок
Рассмотрим, какие файлы подходят под разные маски. В примере показано, совпадает имя с маской или нет.
Маска *.txt -> все файлы с расширением txt
доклад.txt — да
фото.jpg — нет
Маска отчёт.* -> файлы с именем отчёт, любое расширение
отчёт.txt — да
отчёт.doc — да
Маска файл?.dat -> файл и один символ перед точкой
файл1.dat — да
файл12.dat — нет (символов два)Правило: звёздочка заменяет любое число символов, а знак вопроса — строго один. Поэтому маска?отбирает имена с одним символом в этой позиции, а*— с любым их количеством.
Разбор примера
Нужно найти все рисунки в формате растровых изображений. Если они имеют расширение bmp, подойдёт маска *.bmp — она отберёт любые файлы с таким расширением независимо от имени. А маска сх?.bmp отберёт только те, чьё имя начинается на «сх» и содержит ещё ровно один символ.
Комбинирование шаблонов
В одной маске можно использовать оба символа сразу. Например, маска отч*.do? отберёт файлы, имя которых начинается на «отч», а расширение состоит из трёх символов и начинается на «do». Звёздочка задаёт переменную часть имени, а знак вопроса фиксирует число символов в строго определённой позиции. Сочетая их, можно описать довольно точные условия отбора.
Где применяют маски
Маски имени используют не только при поиске файлов, но и при других операциях с группами файлов. По маске можно выделить и скопировать сразу все рисунки, удалить все временные файлы или открыть все документы определённого вида. Многие программы и поисковые строки понимают звёздочку и знак вопроса одинаково, поэтому навык составления масок пригодится в самых разных ситуациях работы с файлами.
Частая ошибка
Путают звёздочку и знак вопроса. Если по ошибке написать ?.txt вместо *.txt, найдутся только файлы с именем из одного символа, а большинство нужных файлов окажется пропущено. Поэтому, составляя маску, важно помнить, что знак вопроса — это всегда ровно один символ.
Кратко о главном
- Маска имени — образец для поиска группы файлов.
- Звёздочка
*заменяет любое число символов. - Знак вопроса
?заменяет ровно один символ. - Маска
*.txtотбирает все файлы с расширением txt. - В одной маске можно сочетать оба шаблона.
- Звёздочку и знак вопроса нельзя путать между собой.