P
pro·school.ru
Каталог школ

Маска имени файла и поиск по шаблону

💻 Информатика · 8 класс

Что такое маска имени файла

Маска (шаблон) имени файла — это запись, которая описывает не один файл, а целую группу файлов с похожими именами. Маски используют, когда нужно найти, скопировать или удалить сразу несколько файлов, не перечисляя каждый по отдельности.

Представьте папку с сотней фотографий. Чтобы выбрать все снимки в формате jpg, не нужно щёлкать по каждому — достаточно задать маску, и система сама отберёт подходящие файлы. В этом и состоит удобство масок.

В маске применяют два специальных символа-заместителя.

СимволЧто заменяет
*Любое количество любых символов (в том числе ноль)
?Ровно один любой символ

Как читать маску

Маска проверяется по частям: имя и расширение сравниваются с шаблоном. Если каждый символ совпадает (а * и ? совпадают по своим правилам), файл подходит под маску. Проверку удобно вести слева направо, символ за символом, мысленно подставляя реальные буквы вместо заместителей.

Разберём маску *.txt. Звёздочка заменяет любое имя, а расширение должно быть точно txt. Значит, под маску подходят все текстовые файлы.

отчёт.txt — подходит

план.txt — подходит

рисунок.jpg — НЕ подходит (расширение другое)

Примеры масок

МаскаЧто находит
*.*Все файлы с любым расширением
дом?.txtдом1.txt, домА.txt, но не дом.txt
a*.docФайлы на букву «a» с расширением doc
???.bmpФайлы ровно из трёх символов в имени
Правило. Символ ? обязательно заменяет ровно один символ, поэтому имя должно иметь нужную длину. А * может заменить и пустое место, поэтому подходит и для коротких имён.

Маска проверяется отдельно для имени и отдельно для расширения. Если в шаблоне после точки стоит конкретное расширение, то и у файла оно должно совпадать буква в букву. Если же там стоит *, расширение может быть любым.

Разбор задачи

Какие из файлов подходят под маску ?ор*.txt? Под маску попадают файлы, у которых второй и третий символы — «ор», дальше любые символы, расширение txt.

город.txt — подходит (г-о-р-...)

сорт.txt — подходит (с-о-р-т)

норма.doc — НЕ подходит (расширение)

Частая ошибка. Забывают, что ? нельзя пропустить: под маску ?ор*.txt файл орех.txt не подходит, потому что перед «ор» должен стоять ровно один символ. А вот под маску *ор*.txt файл орех.txt подходит, ведь звёздочка допускает и пустое место перед «ор».

Кратко о главном

  • Маска описывает группу файлов по шаблону имени.
  • Символ * заменяет любое количество символов, в том числе ноль.
  • Символ ? заменяет ровно один символ.
  • Имя и расширение проверяются на совпадение по отдельности.
  • Маски удобны для поиска, копирования и удаления групп файлов по шаблону.