Как определить каталог файла

Обновлено: 05.07.2024

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 7 класса. Босова Л.Л. Оглавление

Логические имена устройств внешней памяти компьютера

К каждому компьютеру может быть подключено несколько устройств внешней памяти. Основным устройством внешней памяти ПК является жёсткий диск. Если жёсткий диск имеет достаточно большую ёмкость, то его можно разделить на несколько логических разделов.

Наличие нескольких логических разделов на одном жёстком диске обеспечивает пользователю следующие преимущества:

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

Каждое подключаемое к компьютеру устройство внешней памяти, а также каждый логический раздел жёсткого диска имеет логическое имя.

В операционной системе Windows приняты логические имена устройств внешней памяти, состоящие из одной латинской буквы и знака двоеточия:

  • для дисководов гибких дисков (дискет) — А: и В:;
  • для жёстких дисков и их логических разделов — С:, D:, Е: и т. д.;
  • для оптических дисководов — имена, следующие по алфавиту после имени последнего имеющегося на компьютере жёсткого диска или раздела жёсткого диска (например, F:);
  • для подключаемой к компьютеру флеш-памяти — имя, следующее за последним именем оптического дисковода (например, G:).

В операционной системе Linux приняты другие правила именования дисков и их разделов. Например:

  • логические разделы, принадлежащие первому жёсткому диску, получают имена hdal, hda2 и т. д.;
  • логические разделы, принадлежащие второму жёсткому диску, получают имена hdbl, hdb2 и т. д.

Файл

Все программы и данные хранятся во внешней памяти компьютера в виде файлов.

Файл — это поименованная область внешней памяти.

Файловая система — это часть ОС, определяющая способ организации, хранения и именования файлов на носителях информации.

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

Файлы, содержащие данные — графические, текстовые (рисунки, тексты), называют документами, а файлы, содержащие прикладные программы, — файлами-приложениями. Файлы-документы создаются и обрабатываются с помощью файлов-приложений.

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

В современных операционных системах имя файла может включать до 255 символов, причём в нём можно использовать буквы национальных алфавитов и пробелы. Расширение имени файла записывается после точки и обычно содержит 3-4 символа.

Операционная система Linux, в отличие от Windows, различает строчные и прописные буквы в имени файла: например, FILE.txt, file.txt и FiLe.txt — это в Linux три разных файла.

В таблице приведены наиболее распространённые типы файлов и их расширения:


В ОС Linux выделяют следующие типы файлов:

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

Каталоги

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

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

Каталог — это поименованная совокупность файлов и подкаталогов (вложенных каталогов).

Каталог самого верхнего уровня называется корневым каталогом.

В ОС Windows любой информационный носитель имеет корневой каталог, который создаётся операционной системой без участия пользователя. Обозначаются корневые каталоги добавлением к логическому имени соответствующего устройства внешней памяти знака «\» (обратный слэш): А:\, В:\, С:\, D:\, Е:\ и т. д.

В Linux каталоги жёстких дисков или их логических разделов не принадлежат верхнему уровню файловой системы (не являются корневыми каталогами). Они «монтируются» в каталог mnt. Другие устройства внешней памяти (гибкие, оптические и флеш-диски) «монтируются» в каталог media. Каталоги mnt и media, в свою очередь, «монтируются» в единый корневой каталог, который обозначается знаком « / » (прямой слэш).

Файловая структура диска

Файловая структура диска — это совокупность файлов на диске и взаимосвязей между ними.

Файловые структуры бывают простыми и многоуровневыми (иерархическими).

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


Иерархические файловые структуры используются для хранения большого (сотни и тысячи) количества файлов. Иерархия — это расположение частей (элементов) целого в порядке от высшего к низшим. Начальный (корневой) каталог содержит файлы и вложенные каталоги первого уровня. Каждый из каталогов первого уровня может содержать файлы и вложенные каталоги второго уровня и т. д. (рис. 2.9). В этом случае оглавление диска можно сравнить с оглавлением нашего учебника: в нём выделены главы, состоящие из параграфов, которые, в свою очередь, разбиты на отдельные пункты и т. д.


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

Графическое изображение иерархической файловой структуры называется деревом. В Windows каталоги на разных дисках могут образовывать несколько отдельных деревьев; в Linux каталоги объединяются в одно дерево, общее для всех дисков (рис. 2.10). Древовидные иерархические структуры можно изображать вертикально и горизонтально.


Полное имя файла

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

В операционной системе Windows путь к файлу начинается с логического имени устройства внешней памяти; после имени каждого подкаталога ставится обратный слэш. В операционной системе Linux путь к файлу начинается с имени единого корневого каталога; после имени каждого подкаталога ставится прямой слэш.

Последовательно записанные путь к файлу и имя файла составляют полное имя файла. Не может быть двух файлов, имеющих одинаковые полные имена.

Пример полного имени файла в ОС Windows:

Пример полного имени файла в ОС Linux:

Задача 1. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Сначала он поднялся на один уровень вверх, затем ещё раз поднялся на один уровень вверх и после этого спустился в каталог Экзамен, в котором находится файл Информатика.dос. Каков путь к этому файлу?

Решение. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Поднявшись на один уровень вверх, пользователь оказался в каталоге С:\Физика\Задачи. Поднявшись ещё на один уровень вверх, пользователь оказался в каталоге СДФизика. После этого пользователь спустился в каталог Экзамен, где находится файл. Полный путь к файлу имеет вид: С:\Физика\Экзамен.

Задача 2. Учитель работал в каталоге D:\Уроки\7 класс\Практические работы. Затем перешёл в дереве каталогов на уровень выше, спустился в подкаталог Презентации и удалил из него файл Введение, ppt. Каково полное имя файла, который удалил учитель?

Решение. Учитель работал с каталогом D:\Уроки\7 класс\Практические работы. Поднявшись на один уровень вверх, он оказался в каталоге D:\Уроки\8 класс. После этого учитель спустился в каталог Презентации, путь к файлам которого имеет вид: D:\Уроки\ 7 класс\Презентации. В этом каталоге он удалил файл Введение.ppt, полное имя которого D:\Уроки\8 класс\ Презентации \Введение.ррt.

Работа с файлами

Создаются файлы с помощью систем программирования и прикладного программного обеспечения.

В процессе работы на компьютере над файлами наиболее часто проводятся следующие операции:

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

При поиске файла, имя которого известно неточно, удобно использовать маску имени файла. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, среди которых также могут встречаться следующие символы: «?» (вопросительный знак) — означает ровно один произвольный символ; «*» (звездочка) — означает любую (в том числе и пустую) последовательность символов произвольной длины.

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

Вопросы

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Дополняет ли презентация информацию, содержащуюся в тексте параграфа?

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

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

Получаем список файлов и папок в командной строке

Для чтения содержимого каталогов в старой доброй командной строке предусмотрена команда dir , её то как раз мы и будем использовать. Итак, запускаем консоль CMD, командой cd Буква диска:/путь (если нужно перейти в другой диск, добавляем после cd ключ /d) переходим в нужное расположение и выполняем эти две команды:

Список файлов и папок в командной строке

Первая команда устанавливает кириллическую кодировку, вторая сохраняет список всех файлов, папок и вложенных в них объектов в текстовый лог на диске D.

Текстовый лог

Если нужно получить список только файлов (без вложенных каталогов) , достаточно использовать только ключ /b.

Примечание: в Windows 8.1 и 7 для быстрого перехода в папку в командной строке, зажмите Shift , кликните ПКМ по папке и выберите в контекстном меню опцию «Открыть окно команд».

Список файлов и папок в PowerShell

В Windows 10 командная строка заменена консолью PowerShell , для получения списка файлов можете использовать её. Для примера выведем в файл содержимое папки Тест с её подкаталогами:

PowerShell

А можно и проще. Зажав Shift , кликаем по папке ПКМ, выбираем в меню «Открыть PowerShell здесь».

Открыть PowerShell здесь

И выполняем в открывшемся окне консоли команду Get-Childitem -Recurse | Out-File D:\filelist.tхt .

Get-Childitem

Необходимость использования параметра -Path с указанием пути в данном случае отпадает.

Получение списка файлов или папок в Проводнике

Этот способ позволяет получить список либо файлов, либо папок в конкретном расположении. Заходим в целевую папку, выделяем в ней все файлы или папки, зажимаем Shift , кликаем правой кнопкой мыши и выбираем в меню опцию «Копировать как путь».

Копировать как путь

Пути и имена выделенных объектов будут переданы в буфер обмена, откуда вы уже сможете перенести их в текстовый файл.

Получение списка файлов с помощью DirLister

Для получения хорошо структурированного списка объектов файловой системы можно воспользоваться бесплатной портативной утилитой DirLister, скачав её с официального сайта:

Запустив утилиту, укажите в разделе «Directory To Scan» путь к сканируемому каталогу или диску, в разделе «Output File» выберите расположение для сохранения списка.

DirLister

Здесь же можно задать параметры сканирования — выбрать формат, указать, нужно ли включать в список вложенные директории и скрытые объекты, задать поиск по маске. После нажатия кнопки «Make List» список будет сохранён в выбранном расположении.

Используем для получения списка файлов браузер

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

Список файлов в браузере

Рекурсивно пройтись по всем вложенным каталогам, правда, не получится да и для копирования путей и имён файлов и переноса их в отдельный файл придется использовать Ctrl + C и Ctrl + V .

В этой инструкции я покажу, как скопировать полный путь к файлу в Windows 10. Иногда нам для поиска информации или работы других программ, необходимо скопировать путь расположения файла, папки или каталога. Чтобы найти определенный файл в иерархии каталогов, необходимо указать абсолютный путь к нему.

Как посмотреть путь к файлу?

С помощью Shift


Например, путь к рабочему столу Windows 10 на моем компьютере имеет вид ⇒ C:\Users\Alex\Desktop, а к папке Temp ⇒ C:\Program Files (x86)\Temp

Через свойства папки или файла

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


Например путь к графическому изображению help.jpg

вместо ⇒

E:\Фотоматериалы и изображения\Иконки\help.jpg

будет выглядеть как ⇒

E:\Фотоматериалы и изображения\Иконки

Узнаем путь к файлу в командной строке Windows

  1. Открываем командную строку. Сделать это можно, нажав комбинацию клавиш Win+R и в открывшейся строке ввести cmd.
  2. Перетаскиваем иконку файла или папки в основное окно программы cmd.exe.
  3. Полный путь до файла будет скопирован в окно командной строки. Если это будет файл запуска, например exe, то при нажатии кнопки Ввод (Enter) запуститься программа.

Для примера создадим документ Word с именем Doc3 и поместим его в любую папку и посмотрим его путь в командной строке.

Путь до документа Doc3 в командной строке

Как скопировать путь к файлу на Mac

Пути к файлам и папкам на Маке можно узнать так же, как и в Виндовс через Shift, только названия кнопок другие ⇒

Как посмотреть путь к файлу на mac

В буфер обмена скопируется полный путь к файлу например ⇒

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

Абсолютный и относительный пути

Путь (от англ. path) — набор символов, показывающий расположение файла или каталога в файловой системе.

Например, в следующей записи G:\EPIM Pro\Необходимые программы\ABBYY FineReader 10.0.102.95 Pro\readme.txt

readme.txt — это имя файла, а G:\EPIM Pro\Необходимые программы\ABBYY FineReader 10.0.102.95 Pro — путь к нему.

Полный (абсолютный) путь к файлу начинается с логического имени диска. Далее идут имена вложенных друг в друга папок (их может быть сколько угодно много). В последней папке содержится требуемый файл.

Стандартный путь состоит из трех компонентов ⇒

Если присутствуют все три компонента, путь является абсолютным. Полный путь всегда начинается с корневого каталога.

Если буква тома или диска не указана и имя каталога начинается с символа разделителя, то такой путь задан относительно корня текущего диска. В противном случае путь задан относительно текущего каталога.

В следующей таблице показаны некоторые возможные пути к каталогам и файлам ⇒

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

1. УСТАНОВКА БИТА В 1

Код на C:
OurVariable = OurVariable | 0x08;

Здесь мы выполнили поразрядную операцию "или".
Цель операции - установить бит3 в 1,
не трогая другие биты.
Весь фокус - в подборе 2-го операнда (00001000=08h).
Бит7, участвуя с нулем в операции "или", не изменяется.
Если там был ноль, то так ноль и останется (0 or 0 = 0).
Если там был один, то так один и останется (1 or 0 = 1).
То же самое со всеми битами, кроме бит3.
Бит3 станет единицей, т.к. все_что_угодно or 1 =1.

Так же устанавливаются в 1 любой другой бит,
только второй операнд будет другой
(для бита0 - 01h, для бита1 - 02h, для бита2 -04h,
для бита4 - 10h, для бита5 - 20h, для бита6 - 40h,
для бита7 - 80h).

2. СБРОС БИТА В 0

Код на C:
OurVariable = OurVariable & 0xF7;

Аналогично с предыдущим.
Только операция - "и" (почти как в известном фильме).
Все биты, кроме 3-го, не изменятся -
если был 0, то и останется 0 (0 and 1 = 0);
если был 1, то и останется 1 (1 and 1 = 1).
А вот бит3 обнулится (все_что_угодно and 0 =0).

Как выбирать операнд2 для обнуления других битов:
для бита0 - FEh, для бита1 - FDh, для бита2 - FBh,
для бита4 - EFh, для бита5 - DFh, для бита6 - BFh,
для бита7 - 7Fh.

3. ПРОВЕРКА БИТА

Если результат нулевой, то бит3 в исходном байте = 0;
если результат не ноль, то бит3 в исходном байте = 1.

Код на C:
Result=OurVariable & 0x08;
if (Result)
//значит бит3 в исходном байте = 1
>;
else
//значит бит3 в исходном байте = 0
>;

Как это работает?
Когда мы выполнили операцию "и",
все биты результата обнулились, кроме 3-го.
А бит3 результата остался тот же, что у исходного байта.
Если мы убеждаемся, что результат = 0, это означает, что бит3 у результата = 0.
Значит и у исходного байта бит3 = 0.

Если результат - не 0, это означает,
что бит3 у результата = 1
(откуда мы иначе получили бы
ненулевой байт результата,
другие то биты = 0).
Раз у результата бит3 = 1,
то то же самое у исходного байта.

Возвращаемся к коду, упомянутого у Arestovа.

Функция GetFileAttributes вернула атрибуты файла.
(Там не один байт, а целых четыре,
но смысла это не меняет).
FILE_ATTRIBUTE_DIRECTORY -
это нужный нам операнд2
(где то там в заголовочных файлах есть определение).
Если получим 0, значит нужный бит = 0.
Если получим не 0, значит и нужный бит = 1.

А если написать
if(GetFileAttributes(path)==FILE_ATTRIBUTE_DIRECTORY)
.
>
то работать, конечно, не будет.
Вернее, таким способом можно определить,
является ли файл каталогом,
только если другие атрибуты не установлены.
Если, например, наш файл и Directory, и ReadOnly,
то GetFileAttributes(path)!=FILE_ATTRIBUTE_DIRECTORY

Читайте также: