Справочная система PhoA

Маски файлов

Маски файлов — это шаблоны для проверки имён файлов, составляемые по определённым правилам.

PhoA использует маски файлов в многих местах: при поиске, при задании фильтра добавления файлов изображений, при описании инструментов и пр.

Правила составления масок файлов

  • В программе используются списки масок, разделённые символом точки с запятой (;). Правила составления каждой из масок см. ниже. Файл считается соответствующим маскам, если он подходит под любую из заданных в списке масок (условие логического ИЛИ).
  • Допустимая маска (каждый из элементов списка, разделённых символом ";") состоит из необязательного символа отрицания, символов, наборов и шаблонов (специальных символов).
  • Символ отрицания представляет собой восклицательный знак (!), помещённый в начало маски. Если он присутствует, значение маски меняется на противоположное, т.е. файлы, соответствующие маске считаются не соответствующими, и наоборот. Каждая маска в списке масок может иметь или не иметь отрицания, каждое отрицание распространяется лишь на маску, которая непосредственно следует за ним.
  • Каждый символ, встречаемый в тексте маски, должен соответствовать символу в имени файла.
  • Каждый набор начинается с открывающей квадратной скобки ([), и завершается закрывающей квадратной скобкой (]). Между скобками находятся элементы набора. Каждый элемент — это символ или диапазон символов. Диапазоны задаются начальным значением, чёрточкой (символом минуса, "-") и конечным значением. Не допускается использования пробелов или запятых для разделения элементов набора. Каждый набор соответствует одиночному символу в проверяемой строке. Символ считается подходящим, если он совпадает с любым из символов набора или входит в любой из диапазонов набора, т.е. совпадает с начальным его значением, конечным значением или попадает в диапазон между ними.
    Если первый символ в наборе (после открывающей квадратной скобки) — это восклицательный знак (!), то смысл набора меняется на противоположный, и символ проверяемой строки считается подходящим, если он не попадает в набор.
  • Шаблоны (или джокеры, wildcards) — это символы вопросительного знака (?) и звёздочки (*).
    Вопросительный знак означает любой одиночный символ.
    Звёздочка означает произвольное количество любых символов (в том числе и отсутствие символов).
NB:
  • Сравнение символов в масках всегда регистронезависимое (т.е. заглавные и строчные буквы не различаются).
  • В тех местах, где это допускается, пустая маска (не содержащая символов) означает соответствие любому файлу.

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

  • * — любой файл;
  • *.* — любой файл, имеющий расширение;
  • *.jpg — файл с любым именем и расширением .jpg;
  • vacation.* — файл с именем vacation и любым расширением;
  • [a-z]*.jpg — файл с именем, начинающимся с латинской буквы и расширением .jpg;
  • [!a-z]* — файл с именем, начинающимся не с латинской буквы
  • *.jpg;*.gif;*.png;!temp* — все файлы с расширениями .jpg, .gif, .png, а также файлы, чьё имя начинается не на "temp".

См. также:

Поиск
Инструменты