Словарь

Что такое имя файла?

Имя файла (имя файла) - это имя, которое файл имеет в своей папке, например tmp.txt. Файловая система хранит это имя вне файла, и вы можете изменить имя.

file-name

Имя файла - это имя, по которому файл определяется в своей папке. Имя файла состоит из основного имени и необязательного расширения, разделенных точкой. В tmp.txt основное имя - tmp, а расширение - txt.

В отчете метаданных поле File Name показывает это имя. Вы можете выбрать имя и изменить его позже, так как имя не является частью содержимого файла.

Откуда берется значение

Файловая система хранит имя файла в папке, а не внутри файла. Поэтому считыватель метаданных ExifTool называет File Name псевдотегом, как и размер файла.

Некоторые форматы также хранят имя внутри файла:

  • Архив ZIP хранит имя каждого файла, который он содержит, с необязательным относительным путем.
  • Файл gzip может хранить исходное имя сжатого файла, без имен папок.
  • Тег ID3v2, который используется в файлах MP3, может хранить исходное имя файла в кадре TOFN.

Загружаемый файл также может получить предложенное имя извне. Веб-сервер может передать это имя в заголовке Content-Disposition, как в filename=example.html. Программа, которая сохраняет загрузку, должна рассматривать это имя только как рекомендацию.

Как выглядит это значение

File Name показывает полное имя с расширением, но без пути к папке. ExifTool хранит папку в отдельном поле Directory. Для многих форматов расширение совпадает с типом файла.

Windows рассматривает OSCAR, Oscar и oscar как одно и то же имя. Файловая система POSIX может считать их 3 разными именами. В Windows одно имя обычно ограничено 255 символами, а классический полный путь - 260 символами.

Какие символы нельзя использовать в имени файла

В Windows имя файла должно соответствовать следующим правилам:

  • Имя не должно содержать символы :, ", /, |, ?, *, обратную косую черту, знак «меньше» или знак «больше».
  • Имя не должно содержать символ с целочисленным значением от 0 до 31.
  • Имя не должно быть зарезервированным именем устройства, таким как CON, PRN, AUX, NUL, COM1 или LPT1, с расширением или без него. По правилам именования Microsoft NUL.txt рассматривается так же, как NUL.
  • Имя не должно оканчиваться пробелом или точкой. Файловая система может принять такое имя, но оболочка Windows - нет.

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

Для имени, которое безопасно переносить между системами POSIX, POSIX определяет переносимый набор символов. В него входят буквы от A до Z и от a до z, цифры от 0 до 9, точка, знак подчеркивания и дефис. POSIX не рекомендует использовать дефис в качестве первого символа, так как это может вызывать проблемы в командной строке.

Почему это важно

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

Переименование файла не меняет его содержимое, а новое расширение не меняет формат. ExifTool может записать новое File Name, не изменяя сам файл.

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

Заголовок, сохраненный внутри файла, отделен от имени файла. PDF может хранить Title, а тег ID3v2 хранит название песни в кадре TIT2. Переименование файла не меняет ни один из этих заголовков.

Мета-ключи