Для групповых операций с файлами используются маски имен файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» означает ровно один произвольный символ. Например, маска text?.doc означает все файлы с именами text1.doc, text2.doc, texta.doc и т.д. Символ «*» означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность.
Например, маска text*.doc означает все файлы с именами text1.doc, text2.doc, texta.doc, text11.doc, textabc.doc, text.doc и т.д. Маска *.com означает все файлы с любыми именами и расширением.com. Маска text.* означает все файлы с именем text и любыми расширениями. Маска *.* означает все файлы (т.е. с любыми именами и расширениями). Маски удобно использовать, если Вы не уверены в правильности написания имени нужного Вам файла или хотите найти все файлы какого-то одного типа и выполнить над ними какую-то операцию. Например, по команде удалить из текущего каталога файлы *.* из него будут удалены все файлы
Задача 1: Определите, какое из указанных имен файлов удовлетворяет маске:?hel*lo.c?*. 1. hello.c 2. hello.cpp 3. hhelolo.cpp 4. hhelolo.c» Решение: Искомой маске ?hel*lo.c?* соответствует только вариант 3, т.к. первый знак «?» маски дает нам один символ вначале, а второй знак «?», после символа «с», дает еще один произвольный символ. Ну а т.к. знаки «*» дают любое кол-во символов, то на них внимание можно вообще не обращать. Ответ: маске ?hel*lo.c?* соответствует имя файла hhelolo.cpp (вариант 3).
Задача 2. Определите, какое из указанных имен файлов удовлетворяет маске: ?fil?*.w 1)refiled.wmf 2)fil.w 3) ffilpage.w 4) nadfil.w Задача 3. Укажите имя файла, для которого выполнились бы все перечисленные ниже условия: Этот файл будет соответствовать всем перечисленным ниже маскам. В имени файла (до расширения) содержится последовательность подряд идущих символов adbc, Полная длина имени файла (имя_файла.расширение) равна 12 символов с учетом точки. 1. ?*ba?*?.b*? 2. ?a?*?d*?.?a* 3. *bb*d?c.*a* 4. с?b*?d*.??c