Для чего используется маска имен файлов
Для чего используется маска имен файлов
Работа с масками имен файлов/каталогов
Сначала разберемся с первым пунктом. Бывают случаи, когда удобно разделить маски на маски имен файлов и имен каталогов. Например, мы хотим скопировать все *.htm файлы из каталога c:\data и всех его подкаталогов. Нет ничего проще, воспользуемся включающей маской имени файла:
Расшифровка: копировать все htm-файлы из каталога c:\data и всех его подкаталогов в каталог d:\backup.
А как быть, если мы при этом хотим исключить подкаталог c:\data\wrong_data из обработки? Вот тут, как раз и приходит на помощь исключающая маска имени подкаталога:
Расшифровка: копировать все htm-файлы из каталога c:\data и всех его подкаталогов (кроме подкаталога c:\data\wrong_data) в каталог d:\backup.
Второй пункт. Как вы уже поняли из предыдущего примера, маски могут быть включающими и исключающими. Работа с исключающими масками не вызовет затруднений: копируются все файлы, кроме тех, что подпадают под исключающую маску. Например:
Расшифровка: копировать все файлы кроме файлов с расширением txt из каталога c:\data в каталог d:\backup.
Включающая маска, напротив, определяет какие именно файлы должны копироваться:
Расшифровка: копировать только файлы с расширением htm и html из каталога c:\data в каталог d:\backup.
Включающие и исключающие маски можно использовать одновременно.
Расшифровка: копировать только файлы с расширением htm и именем, состоящим из любого количества цифр, из каталога c:\data в каталог d:\backup.
Расшифровка: копировать из каталога c:\data в каталог d:\backup файлы с расширениями htm, html, css, gif и jpeg.
Расшифровка: копировать из каталога c:\data в каталог d:\backup все файлы, кроме файлов с расширениями txt, doc, rtf и pdf.
Расшифровка: копировать из каталога c:\data в каталог d:\backup файлы с расширениями txt, doc, rtf и pdf.
Расшифровка: копировать из каталога c:\data в каталог d:\backup все файлы, кроме файлов с расширениями txt, doc, rtf и pdf.
Возможность считывать маски из текстового файла бывает очень полезной, когда приходится часто использовать одни и теже «наборы» масок или когда список файлов для обработки генерируется специальной внешней программой.
Обратите внимание, что маски имени файла и маски имени каталога можно использовать одновременно, например для того, чтобы исключить один или несколько каталогов:
Расшифровка: копировать все htm-файлы из каталога c:\data и всех его подкаталогов (кроме подкаталогов, начинающихся с ‘wrong_‘ и подкаталогов, содержащих в имени ‘temp‘) в каталог d:\backup.
Ну, и последний, пятый пункт: в понятие «маска имени файла/каталога» может входить не только имя файла/каталога, но и его относительный путь (считая от исходного каталога). Это предоставляет пользователю дополнительную свободу при создании масок. Правила здесь простые: если в созданной вами маске имени файла/каталога присутствует символ ‘\’ (обратный слеш), то вся маска сравнивается с относительным путем. Если обратного слеша в маске нет, то она сравнивается только с именем файла/каталога.
Учитывание относительного пути в маске позволяет включать/исключать целые подкаталоги и файлы, которые в них содержатся. Например, если в каталоге с:\data есть подкаталог images, то я могу задать такую маску:
Расшифровка: копировать все исполняемые файлы и все содержимое каталога images из каталога c:\data и всех его подкаталогов в каталог d:\backup.
При включении/исключении целых каталогов бывает удобно пользоваться и включающими и исключающими масками одновременно. Модифицируем предыдущий пример, чтобы из подкаталога images не копировались файлы с расширением bmp:
Расшифровка: копировать все исполняемые файлы и все содержимое каталога images (кроме файлов с расширением bmp) из каталога c:\data и всех его подкаталогов в каталог d:\backup.
Пример типовой древовидной структуры файловой системы, принятой в ОС MS-DOS и Windows (используемой в задачах ЕГЭ):
Путь к файлу — запись, начинающаяся меткой диска и содержащая имена всех папок, которые нужно одну за другой раскрыть, чтобы кратчайшим способом прийти к файлу.
Полное имя файла — запись пути к файлу, завершаемая именем и расширением этого файла.
В ОС Windows записи пути и полного имени файла метка диска, имена каталогов и имя файла разделяются символом обратной косой черты — “\”. В ОС Linux записи пути и полного имени файла аналогичны, но в качестве символа-разделителя используется символ “/”.
Например, для файловой структуры в ОС Windows, изображённой на рисунке выше:
• путь к файлу Рефератl.doc — С:\Документы\Рефераты (показан пунктирной стрелкой);
• полное имя файла Реферат1.dос — С:\Документы\Рефераты\Реферат1.doc.
Маска (шаблон) имени файла — запись, обозначающая группу файлов, имена которых отвечают заданным в этой маске требованиям. Маска обычно используется в качестве фильтра, чтобы выделить (или отобрать для выборочного показа в списке содержимого папки) файлы с нужными именами (и/или расширениями имени) и отсеять ненужные.
Символы-шаблоны — специальные символы-“джокеры”, обозначающие один или несколько любых символов:
• символ “*” (звёздочка) — заменяет собой любое количество любых символов (в том числе нулевое количество — этих символов может не быть вовсе);
• символ “?” (знак вопроса) — заменяет один (и только один) обязательно стоящий в данном месте любой символ.
Маска может содержать как обычные символы (буквы, цифры и прочие знаки, допустимые в именах файлов), так и символы-шаблоны.
*.* — все файлы (т.е. файлы с любым именем и любым расширением);
*.doc — все файлы с любыми именами и расширением doc;
text. txt — все файлы, имена которых начинаются с букв text и завершаются обязательно имеющимися двумя любыми символами, а расширение которых — txt (например, это могут быть файлы
Символ “*” обозначает любое количество любых символов, в том числе нулевое (т.е. когда символов нет вообще).
Разбор типовых задач
Задача 1. Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
символ “?” (вопросительный знак) означает ровно один произвольный символ;
символ “*” (звёздочка) означает любую последовательность символов произвольной длины, в том числе “*” может задавать и пустую последовательность.
Определите, какое из указанных имен файлов удовлетворяет маске:
• пара символов “bа” обязательно записаны на втором и третьем месте имени файла, а перед ними обязательно стоит один любой символ — в маске он закодирован знаком “?”;
• после символов “bа” может идти любое количество символов (знак “*”), но имя обязательно завершается буквой “r”;
• расширение имени всегда состоит из трёх символов, из которых два последние — “xt”.
Анализируя приведённые в качестве вариантов ответа имена файлов на соответствие этим требованиям получается:
1) bar.txt — здесь перед символами “bа” отсутствует символ (который закодирован знаком “?”) — данный вариант не подходит;
2) obar.txt — перед символами “bа” имеется символ “о”, имя завершается символом “r” (знак “*” может означать и отсутствие символов!), расширение имени состоит из трёх букв и завершается парой символов “xt” — данный вариант ответа годится;
3) obar.xt — хотя структура имени соответствует заданной маске (см. выше), расширение имени здесь двузначно, т.е. данное имя файла не соответствует маске;
4) barr.txt — перед символами “bа” отсутствует символ (который закодирован знаком “?”) — данный вариант не подходит.
Таким образом, указанной маске соответствует только имя файла obar.txt.
Ответ: obar.txt (вариант № 2).
Задача 2. Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
• символ “?” (вопросительный знак) означает ровно один произвольный символ;
• символ “*” (звёздочка) означает любую последовательность символов произвольной длины, в том числе “*” может задавать и пустую последовательность.
Определите, по какой из масок будет выбрана указанная группа файлов:
Принцип решения данной задачи состоит в поочередной проверке каждой из предложенных масок (в вариантах ответа) на соответствие указанным именам файлов.
1. Маска *23*.?х*. Предполагает, что имя файла обязательно содержит цифры 23, до и после которых может быть любое количество других символов (но их может и не быть!). В расширении же имени файла обязательно имеется символ “х”, перед которым обязательно есть какой-то символ, а после него может (но необязательно) быть любое число символов.
Этой маске не соответствует ни один из заданных файлов, так как в расширениях их имён символ “х” стоит первым, а не вторым. Следовательно, данная маска не является решением задачи.
Этой маске не соответствуют имена файлов 23.xml и 234.xls, так как в них не обеспечено наличие по одному символу до и после цифр 23. Следовательно, данная маска также не является решением задачи.
Этой маске (как и предыдущей) не соответствуют имена файлов 23.xml и 234.xls, так как в них не обеспечено наличие по одному символу до и после цифр 23. Следовательно, данная маска тоже не является решением задачи.
4. Маска *23*. Предполагает, что имя файла обязательно содержит цифры 23, до и после которых может быть любое количество других символов (но их может и не быть!). В расширении имени обязательно должно быть три любых символа (не больше и не меньше).
Этой маске полностью соответствуют все заданные файлы. Следовательно, данная маска является решением задачи.
Ответ: маска *23*. (вариант № 4).
Задача 3. Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
Символ “?” (вопросительный знак) означает ровно один произвольный символ.
Символ “*” (звёздочка) означает любую последовательность символов произвольной длины, в том числе “*” может задавать и пустую последовательность.
В каталоге находится 6 файлов:
Ниже представлено восемь масок. Сколько из них таких, которым соответствуют ровно три файла из данного каталога?
Принцип решения задачи: “примерка” каждой маски к именам файлов и определение количества файлов, соответствующих маске. Маска, для которой будет отобрано ровно три файла (или маски), — и есть ответ.
1) Маска *ver*.mp* предполагает, что где-то в имени файла содержится набор символов ver, а расширение начинается с символов mр. Значит, такая маска отберёт файлы maverick.mp3, taverna.mp4, revolver.mp4, vera.mp3, zveri.mp3 — всего 5 файлов. Значит, эта маска нам не годится.
2) Маска *?ver?*.mp? отличается от предыдущей тем, что до и после символов ver обязательно должны стоять минимум по одному символу, а в расширении после символов mр может быть только один символ. Значит, такая маска отберет файлы maverick.mp3, tavema.mp4 и zveri.mp3 (а имена revolver.mp4 и vera.mp3 не удовлетворяют этой маске, так как в них группа символов ver располагается с краю имён). Всего 3 файла. Значит, эта маска подходит.
4) Маска *v*r*?.m?p* — не обращая внимания на маску имени, заметим: в расширении между m и р должен СТОЯТЬ хотя бы один какой-то символ. А у нас этому условию соответствует единственный файл maverick.map. Значит, эта маска тоже не годится.
7) Маска *а*.*а* — соответствует любым файлам, у которых и в имени, и в расширении есть хотя бы одна буква а. Этому условию соответствует только один файл — maverick.map. Значит, эта маска тоже не годится.
8) Маска *а*.*р* — здесь в имени требуется хотя бы одна буква а, а в расширении — хотя бы одна буква р. Этому условию соответствуют файлы: maverick.map, maverick.mp3, taverna.mp4 и vera.mp3. В этой подборке 4 файла, значит, данная маска тоже не годится.
Библиотека образовательных материалов для студентов, учителей, учеников и их родителей.
Наш сайт не претендует на авторство размещенных материалов. Мы только конвертируем в удобный формат материалы из сети Интернет, которые находятся в открытом доступе и присланные нашими посетителями.
Если вы являетесь обладателем авторского права на любой размещенный у нас материал и намерены удалить его или получить ссылки на место коммерческого размещения материалов, обратитесь для согласования к администратору сайта.
Разрешается копировать материалы с обязательной гипертекстовой ссылкой на сайт, будьте благодарными мы затратили много усилий чтобы привести информацию в удобный вид.
© 2014-2021 Все права на дизайн сайта принадлежат С.Є.А.
Презентация по теме «Файл. Файловая система. Маска файла»
Презентация по теме «Файл. Файловая система. Маска файла»
Просмотр содержимого документа
«Презентация по теме «Файл. Файловая система. Маска файла»»
ФАЙЛ ФАЙЛОВАЯ СИСТЕМА МАСКА ФАЙЛА
Все программы и данные хранятся в долговременной памяти компьютера в виде файлов.
Файл – программа или данные, имеющие имя и хранящиеся в долговременной памяти.
Имя файла состоит из двух частей, разделенных точкой.
Собственное имя файла
Имя файлу даёт пользователь.
Расширение имени обычно задаётся программой автоматически при создании файла.
txt, rtf, doc, docx, odt
bmp, gif, jpg, tif, png
Выберите правильные имена файлов.
В папке Игра находятся файлы:
На каждом носителе информации может храниться большое количество файлов.
Файловая система – порядок хранения файлов на диске.
МНОГОУРОВНЕВАЯ ФАЙЛОВАЯ СИСТЕМА
Корневой каталог (папка)
Каталог (папка) — поименованная совокупность файлов и подкаталогов (вложенных каталогов).
В ОС Windows путь к файлу начинается с логического имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш:
В ОС Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш:
Полное имя файла – путь к файлу
+ собственное имя с расширением.
Собственное имя с расширением
Запишите полные имена всех файлов.
Файл Есенин.doc хранится на жёстком диске в каталоге ПОЭЗИЯ , который является подкаталогом каталога ЛИТЕРАТУРА . В таблице приведены фрагменты полного имени файла:
Восстановите полное имя файла и закодируйте его буквами (запишите последовательность букв без пробелов и запятых).
Пользователь работал с каталогом:
Сначала он поднялся на три уровня вверх, потом спустился в каталог ЭКЗАМЕН и после этого спустился в каталог ИНФОРМАТИКА . Запишите полный путь для того каталога, в котором оказался пользователь.
Для групповых операций с файлами (например, для поиска файлов) используются маски имен файлов.
Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы:
Символ « ? » (вопросительный знак) означает ровно один произвольный символ.
Символ « * » (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Поиск файла по маске.
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, среди которых также могут встречаться следующие символы:
Символ > (вопросительный знак) означает ровно один произвольный символ.
Символ > (звёздочка) означает любую последовательность символов произвольной длины, в том числе > может задавать и пустую последовательность.
Определите, какое из указанных имен файлов будет соответствовать маске *b*ed.*?x:
Разберем каждый вариант ответа и сделаем вывод, может ли он соответствовать маске, указанной в условии.
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, среди которых также могут встречаться следующие символы:
Символ > (вопросительный знак) означает ровно один произвольный символ.
Символ > (звёздочка) означает любую последовательность символов произвольной длины, в том числе > может задавать и пустую последовательность.
Определите, какие из указанных имен файлов будет соответствовать маске ?*kol*.?*x*:
В ответ запишите номера выбранных вариантов без разделителей и пробелов, сами имена файлов писать не нужно.
Разберем каждый вариант ответа и сделаем вывод, может ли он соответствовать маске, указанной в условии.
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, среди которых также могут встречаться следующие символы:
Символ > (вопросительный знак) означает ровно один произвольный символ.
Символ > (звёздочка) означает любую последовательность символов произвольной длины, в том числе > может задавать и пустую последовательность.
Определите, какое из указанных имен файлов будет соответствовать маске *ar?.*x*:
Разберем каждый вариант ответа и сделаем вывод, может ли он соответствовать маске, указанной в условии.
Согласно маске, название файла должно содеражть в себе сочетание букв \(ar\) и \(x\) в формате файла. В данном варианте ответа сочетания букв \(ar\) не встречается, значит, ответ нам не подходит.
Согласно маске, название файла должно содеражть в себе сочетание букв \(ar\) и \(x\) в формате файла. В данном варианте ответа сочетания букв \(ar\) не встречается, значит, ответ нам не подходит.
Решение А4 ЕГЭ по информатике
Задачи типа А4 ЕГЭ по информатике подразумевают проверку знаний о файловой системе организации данных. За правильно решенное задание начисляется 1 балл, а рекомендованное время выполнения данного типа задач — 1 минута.
Для решения данного типа задач необходимо знать следующее:
Рассмотрим некоторые примеры:
1) Как будет выглядеть маска для выделения файлов с расширением jpg?
В данном примере нас не интересует, сколько и какие символы будут содержаться в имени файла, поэтому маска будет выглядеть так — *.jpg
2) Как будет выглядеть маска для выделения файлов, в имени которых содержится doc?
В данном случае нас не интересует расширение файлов, главное, чтобы в имени содержалось doc. Т. е. не важно стоит что-то до и после doc. Итоговая маска будет выглядеть так — *doc*.*
3) Как будет выглядеть маска для выделения файлов, имя которых начинается на w?
По аналогии с примерами выше, запишем маску — w*.*
4) Как выглядит маска для файлов, в имени которых вторая буква e?
Знак вопроса в маске заменяет один символ, соответственно маска будет выглядеть так ?e*.*
5) Как выглядит маска для файлов, в имени которых второй символ l, пятый символ e, а третья буква в расширении c?
Так как нам известны конкретные позиции букв в имени файла, использовать звездочку нельзя. Начало маски будет выглядеть следующим образом — ?l??e. После 5-го символа могут быть или не быть другие символы, поэтому после него поставим звездочку — ?l??e*. Аналогично и с расширением — ??e*. В итоге получается следующая маска ?l??e*. e*.
Рассмотрим решение задач типа А4:
Задача А4 из демонстрационного варианта ЕГЭ 2012г.
Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которой также могут встречаться следующие символы.
Символ «?» (вопросительный знак) означает ровно один произвольный
символ.
Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
В каталоге находятся пять файлов:
Определите, по какой из масок из них будет отобрана указанная группа
файлов: