Задание 12 ОГЭ: количество файлов с заданным расширением

Подтемы

Что проверяет задание

Задание 12 ОГЭ — практическое: его выполняют не «на бумаге», а на компьютере, с реальными файлами и папками. Проверяется умение:

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

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

Как выглядит формулировка и сколько баллов

Типичная формулировка: «Сколько файлов с расширением .txt содержится в подкаталогах каталога Проза? В ответе укажите только число. Выполните задание, распаковав архив на своём компьютере».

Особенности:

  • к заданию прилагается архив (например, DEMO-12.rar), который нужно скачать и распаковать;
  • внутри архива — папка с вложенной структурой каталогов и множеством файлов разных типов;
  • расширение может быть любым: .txt, .pdf, .htm, .doc, .jpg и так далее;
  • ответ — целое число, никаких единиц измерения или текста;
  • задание оценивается в 1 балл, относится к базовому уровню сложности, но требует аккуратности при подсчёте.

Что нужно знать

  • Каталог (папка) — это объект файловой системы, который может содержать файлы и другие каталоги.
  • Подкаталог — каталог, вложенный внутрь другого каталога (более глубокий уровень иерархии).
  • Полное имя файла записывается как путь от корневого каталога через все промежуточные папки до файла, например: C:\Литература\Проза\Рассказы\file.txtC:\Литература\Проза\Рассказы\file.txt.
  • Расширение файла — часть имени файла после последней точки: у файла report.docxreport.docx расширение docxdocx.
  • Маска поиска — шаблон имени файла с символами-джокерами:
  • ∗* заменяет любую последовательность символов (в том числе пустую);
  • ?? заменяет ровно один символ. Маска ∗.txt*.txt означает «любой файл с расширением txt».
  • Рекурсивный поиск — поиск, охватывающий не только текущую папку, но и все каталоги, вложенные в неё на любую глубину.
  • Важно отличать «файлы в каталоге» от «файлы в подкаталогах каталога»: во втором случае файлы, лежащие непосредственно в самом каталоге (не во вложенных папках), в подсчёт не входят.
  • Расширения, отличающиеся хотя бы одним символом (например, .htm и .html), считаются разными типами файлов — их нельзя объединять.

Методы решения

1. Поиск через проводник (графический интерфейс ОС). Открываем нужный каталог, в строке поиска вводим маску вида ∗.txt*.txt, убеждаемся, что поиск ведётся «в этой папке и вложенных». Проводник покажет список найденных файлов, количество которых видно в строке состояния. Пример: открыли папку «Проза», ввели в поиск ∗.pdf*.pdf — система нашла и показала 11 файлов.

2. Командная строка Windows (cmd). Команда: dir /s /b путь\*.txtdir\ /s\ /b\ путь\*.txt выводит полные пути всех файлов с нужным расширением из указанной папки и всех подкаталогов. Чтобы сразу узнать количество, можно перенаправить вывод на подсчёт строк: dir /s /b ∗.txt ∣ find /c /v ""dir\ /s\ /b\ *.txt\ |\ find\ /c\ /v\ "" Эта команда посчитает, сколько строк вывела предыдущая, то есть сколько файлов найдено.

3. PowerShell. Более современный и наглядный способ: (Get−ChildItem −Path "путь" −Filter ∗.htm −Recurse).Count(Get-ChildItem\ -Path\ "путь"\ -Filter\ *.htm\ -Recurse).Count Команда рекурсивно ищет файлы с указанным расширением и сразу выводит их количество.

4. Файловый менеджер с функцией поиска по маске. Программы типа Total Commander позволяют запустить поиск (обычно по сочетанию клавиш) с указанием маски ∗.doc*.doc и области поиска «включая подкаталоги». Результат отображается списком с итоговым счётчиком.

5. Ручной обход структуры (при небольшом числе папок). Если в каталоге всего 2–3 подкаталога с небольшим количеством файлов, можно вручную открыть каждую вложенную папку, включить отображение расширений и посчитать нужные файлы по одному, а затем сложить числа по всем подпапкам.

Алгоритм решения по шагам

  1. Скачать архив, приложенный к заданию, и распаковать его в удобную папку на компьютере.
  2. Открыть распакованную структуру и найти каталог, указанный в условии (например, «Проза»).
  3. Внимательно выписать искомое расширение из условия — точно, без ошибок в буквах (различать .htm и .html, .doc и .docx).
  4. Открыть средство поиска (проводник, командная строка или файловый менеджер) внутри указанного каталога.
  5. Задать маску поиска в виде ∗.расширение*.расширение и обязательно включить поиск с учётом всех вложенных подкаталогов (рекурсивный режим).
  6. Запустить поиск и дождаться его завершения.
  7. Посчитать количество найденных объектов — либо по счётчику программы, либо вручную по списку результатов.
  8. Проверить, что среди найденных объектов нет папок с похожим именем и что расширение у всех файлов совпадает буквально с заданным.
  9. Если в условии сказано «в подкаталогах», убедиться, что файлы, лежащие непосредственно в самом указанном каталоге (не во вложенных папках), не попали в итоговое число.
  10. Записать итоговое число как ответ.

Разбор примеров

Пример 1. Условие: сколько файлов с расширением .txt содержится в подкаталогах каталога Проза?

Шаги решения:

  1. Распаковываем архив DEMO-12.rar, находим каталог «Проза».
  2. Заходим внутрь и видим несколько вложенных подкаталогов (например, «Рассказы», «Повести», «Романы» — конкретные названия зависят от содержимого архива).
  3. В самом каталоге «Проза» задаём маску поиска ∗.txt*.txt с включённым рекурсивным поиском по подкаталогам.
  4. Система обходит все вложенные папки и находит файлы с расширением txt в каждой из них.
  5. Суммарное количество найденных файлов — 16. Это и есть ответ: если бы мы искали только в одной подпапке, число оказалось бы меньше — важно, что поиск охватывает все подкаталоги целиком.
  6. Ответ: 16.

Пример 2. Условие: сколько файлов с расширением .pdf содержится в подкаталогах каталога Проза?

Шаги решения:

  1. Работаем в той же распакованной папке «Проза».
  2. Меняем маску поиска на ∗.pdf*.pdf, оставляя рекурсивный режим включённым.
  3. Запускаем поиск заново — предыдущие результаты не учитываем, так как расширение другое.
  4. Программа обходит все вложенные подкаталоги и собирает файлы с расширением pdf.
  5. Проверяем, что не были случайно захвачены файлы с похожими расширениями (например, .pdfx не существует, но стоит перепроверить список визуально).
  6. Итоговое количество найденных файлов — 11.
  7. Ответ: 11.

Пример 3. Условие: сколько файлов с расширением .htm содержится в подкаталогах каталога Проза?

Шаги решения:

  1. Снова открываем каталог «Проза», задаём маску ∗.htm*.htm.
  2. Здесь важна аккуратность: расширение .htm отличается от .html, поэтому нужно убедиться, что поиск не захватывает файлы .html — это разные типы файлов, и их нельзя смешивать в подсчёте.
  3. Включаем рекурсивный поиск по всем вложенным папкам.
  4. Получаем список найденных файлов и считаем их количество, при необходимости сверяя расширение каждого файла вручную по имени.
  5. Итоговое число файлов с точным расширением .htm — 10.
  6. Ответ: 10.

Обратите внимание: во всех трёх примерах структура каталога «Проза» и его подкаталогов одна и та же, меняется только искомое расширение. Это типичная логика заданий такого типа — один архив используется для нескольких похожих вопросов с разными параметрами поиска.

Типичные ошибки и ловушки

  • Поиск только в текущей папке. Если не включить рекурсивный режим (поиск по вложенным папкам), результат окажется заметно меньше правильного — часть файлов, лежащих в глубине структуры, просто не будет найдена.
  • Путаница между «в каталоге» и «в подкаталогах». Если в условии написано «в подкаталогах каталога Проза», файлы, которые лежат непосредственно в самом каталоге «Проза» (а не во вложенных папках), в ответ не входят.
  • Смешивание похожих расширений. .htm и .html, .doc и .docx, .jpg и .jpeg — это разные расширения. Маска ∗.htm*.htm не должна ловить файлы .html, а маска ∗.jpg*.jpg — файлы .jpeg. При использовании некоторых поисковых систем стоит вручную проверить итоговый список.
  • Учёт папок с точками в имени. Если каталог называется, например, «Архив.txt» (без реального расширения — это просто имя папки), некоторые неаккуратные способы подсчёта могут случайно включить такую папку в результат. Нужно проверять, что все найденные объекты — именно файлы.
  • Ошибка в самой маске. Пропущенная точка перед расширением (∗txt*txt вместо ∗.txt*.txt) может дать неверный или пустой результат в некоторых системах поиска.
  • Неверный подсчёт вручную. При большом количестве вложенных папок легко ошибиться при сложении чисел по каждой подпапке — лучше довериться автоматическому счётчику программы.
  • Регистр букв в расширении. Обычно операционные системы не различают регистр (TXT и txt считаются одним расширением), но при использовании некоторых команд стоит перепроверить этот момент отдельно.

Как готовиться

  • Установить на свой компьютер учебные архивы с демонстрационными вариантами ОГЭ и потренироваться распаковывать их и искать файлы по разным расширениям.
  • Освоить один надёжный способ поиска — либо встроенный поиск проводника, либо команду в командной строке, — и уверенно применять его на экзамене.
  • Потренироваться считать файлы вручную на небольших тестовых структурах папок, чтобы понимать логику рекурсивного обхода.
  • Составить для себя короткую памятку с расширениями, которые легко спутать (.htm/.html, .jpg/.jpeg, .doc/.docx), и обращать на них особое внимание при чтении условия.
  • Решить несколько вариантов из открытого банка заданий ФИПИ по теме файловой системы, каждый раз проверяя себя двумя разными способами (например, через проводник и через командную строку), чтобы убедиться в правильности ответа.
  • Заранее убедиться, что на экзаменационном компьютере доступны привычные инструменты поиска, и знать альтернативный способ на случай, если основной недоступен.

Частые вопросы

Что означает фраза «в подкаталогах каталога Х» в условии задания?

Это означает, что нужно считать файлы, лежащие только во вложенных папках указанного каталога, а не непосредственно в самом каталоге Х.

Нужно ли включать поиск по вложенным папкам вручную?

Да, почти во всех средствах поиска эту опцию нужно явно включить, иначе поиск охватит только текущую папку и результат будет неверным.

Чем отличаются расширения .htm и .html?

Это два разных расширения, отличающихся количеством символов после точки, и файлы с ними нужно считать отдельно, не объединяя в один тип.

Какая команда в командной строке помогает быстро посчитать файлы по расширению?

Команда dir /s /b *.расширение выводит список файлов из всех подкаталогов, а её сочетание с find /c /v "" даёт итоговое количество строк, то есть файлов.

Можно ли использовать PowerShell вместо командной строки?

Да, команда (Get-ChildItem -Path "путь" -Filter *.расширение -Recurse).Count сразу выдаёт число найденных файлов рекурсивно.

Что делать, если в списке результатов оказалась папка с похожим именем?

Нужно проверить каждый найденный объект и оставить в подсчёте только настоящие файлы с точным заданным расширением, исключив папки.

Важен ли регистр букв в расширении при поиске?

Как правило, операционные системы не различают регистр расширений, поэтому TXT и txt считаются одним и тем же типом файла.