В чем разница между именем файла в MS DOS и именем файла в Windows

Обновлено: 03.07.2024

Имена файлов Windows состоят из двух частей. имя файла, затем точка, за которой следует расширение (суффикс). Расширение представляет собой трех- или четырехбуквенную аббревиатуру, обозначающую тип файла. Например, в файле letter.docx имя файла — буква, а расширение — docx. Расширения важны, потому что они сообщают вашему компьютеру, какой значок использовать для файла и какое приложение может открыть файл. Например, расширение doc сообщает вашему компьютеру, что файл является файлом Microsoft Word.

Если вы хотите открыть файл MAC OS X в Windows, вам может потребоваться добавить расширение к имени файла MAC OS X, чтобы Windows могла его распознать. Например, если у вас есть документ Word 6 MAC OS X с именем letter, который вы хотите открыть в Windows, вам нужно переименовать файл letter.docx, чтобы Word в Windows распознал и открыл этот файл.

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

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

Отображение расширений файлов

Если ни одно из ваших имен файлов не имеет расширений, расширения файлов скрыты. Чтобы показать расширения файлов:

<р>1. В Проводнике откройте вкладку "Вид" и установите флажок рядом с "Расширения имен файлов".


<р>1. Нажмите на меню "Пуск" и введите "Показать скрытые файлы и папки", затем нажмите клавишу ввода или выберите этот параметр в списке результатов.



Поиск расширений файлов

Иногда может потребоваться выполнить поиск всех файлов определенного типа. Например, вы можете найти файл .pst или файл .mp3 на своем компьютере. Выполните следующие действия, чтобы найти расширение файла.


<р>1. Щелкните меню «Пуск» или строку поиска и введите «*», а затем расширение файла, который вы хотите найти (например, *.jpg), и нажмите клавишу «Ввод».

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

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

Некоторые файловые системы, такие как NTFS, поддерживают связанные файлы и каталоги, которые также следуют соглашениям и правилам именования файлов, как и обычные файлы или каталоги. Дополнительные сведения см. в разделах «Жесткие ссылки и соединения» и «Точки повторной обработки и операции с файлами».

Дополнительную информацию см. в следующих подразделах:

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

Имена файлов и каталогов

Все файловые системы следуют одним и тем же общим соглашениям об именах для отдельных файлов: базовое имя файла и необязательное расширение, разделенные точкой. Однако каждая файловая система, такая как NTFS, CDFS, exFAT, UDFS, FAT и FAT32, может иметь определенные и отличающиеся правила формирования отдельных компонентов пути к каталогу или файлу. Обратите внимание, что каталог — это просто файл со специальным атрибутом, определяющим его как каталог, но в остальном он должен соответствовать тем же правилам именования, что и обычный файл. Поскольку термин каталог просто относится к особому типу файла в том, что касается файловой системы, в некоторых справочных материалах используется общий термин файл для охвата обеих концепций каталогов. и файлы данных как таковые. По этой причине, если не указано иное, любые правила или примеры именования или использования файла также должны применяться к каталогу. Термин путь относится к одному или нескольким каталогам, обратной косой черте и, возможно, имени тома. Дополнительные сведения см. в разделе «Пути».

Ограничения по количеству символов также могут различаться в зависимости от файловой системы и используемого формата префикса имени пути. Это еще более усложняется поддержкой механизмов обратной совместимости.Например, более старая файловая система MS-DOS FAT поддерживает не более 8 символов для основного имени файла и 3 символа для расширения, всего 12 символов, включая разделитель точек. Это обычно известно как имя файла 8.3. Файловые системы Windows FAT и NTFS не ограничены именами файлов версии 8.3, поскольку они имеют поддержку длинных имен файлов, но они по-прежнему поддерживают версию 8.3 длинных имен файлов.

Соглашения об именах

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

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

Используйте обратную косую черту (\) для разделения компонентов пути. Обратная косая черта отделяет имя файла от пути к нему и одно имя каталога от другого имени каталога в пути. Вы не можете использовать обратную косую черту в имени фактического файла или каталога, потому что это зарезервированный символ, который разделяет имена на компоненты.

При необходимости используйте обратную косую черту в имени тома, например, "C:\" в "C:\path\file" или "\\server\share" в "\\server\share\path". \file" для имен универсального соглашения об именах (UNC). Дополнительные сведения об именах UNC см. в разделе «Ограничение максимальной длины пути».

Не предполагайте чувствительность к регистру. Например, считайте имена OSCAR, Oscar и oscar одинаковыми, хотя некоторые файловые системы (например, POSIX-совместимая файловая система) могут считать их разными. Обратите внимание, что NTFS поддерживает семантику POSIX для учета регистра, но это не поведение по умолчанию. Дополнительные сведения см. в разделе CreateFile.

Обозначения томов (буквы дисков) также нечувствительны к регистру. Например, "D:\" и "d:\" относятся к одному и тому же тому.

Используйте любой символ текущей кодовой страницы для имени, включая символы Unicode и символы расширенного набора символов (128–255), за исключением следующих:

Следующие зарезервированные символы:

  • (больше)
  • : (двоеточие)
  • " (двойные кавычки)
  • / (косая черта)
  • \ (обратная косая черта)
  • | (вертикальная полоса или труба)
  • <ли>? (вопросительный знак)
  • * (звездочка)

Целое значение, равное нулю, иногда называемое символом NUL ASCII.

Символы, целочисленные представления которых находятся в диапазоне от 1 до 31, за исключением альтернативных потоков данных, где эти символы разрешены. Дополнительные сведения о файловых потоках см. в разделе Файловые потоки.

Любой другой символ, который не разрешен целевой файловой системой.

Используйте точку в качестве компонента каталога в пути для представления текущего каталога, например ".\temp.txt". Дополнительные сведения см. в разделе Пути.

Используйте две последовательные точки (..) в качестве компонента каталога в пути для представления родительского каталога текущего каталога, например "..\temp.txt". Дополнительные сведения см. в разделе Пути.

Не используйте следующие зарезервированные имена для имени файла:

CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 и LPT9. Также избегайте этих имен, за которыми сразу следует расширение; например, NUL.txt не рекомендуется. Дополнительные сведения см. в разделе Пространства имен.

Не заканчивайте имя файла или каталога пробелом или точкой. Хотя базовая файловая система может поддерживать такие имена, оболочка Windows и пользовательский интерфейс этого не делают. Однако допустимо указывать точку в качестве первого символа имени. Например, ".temp".

Короткие и длинные имена

Длинным именем файла считается любое имя файла, которое выходит за рамки короткого стиля именования MS-DOS (также называемого 8.3). Когда вы создаете длинное имя файла, Windows также может создать короткую форму имени 8.3, называемую псевдонимом 8.3 или коротким именем, и также сохранить ее на диске. Этот псевдоним 8.3 можно отключить по соображениям производительности либо для всей системы, либо для указанного тома, в зависимости от конкретной файловой системы.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: псевдонимы 8.3 нельзя отключить для указанных томов до Windows 7 и Windows Server 2008 R2.

Во многих файловых системах имя файла будет содержать тильду (~) в каждом компоненте имени, которое слишком длинно для соответствия правилам именования 8.3.

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

Чтобы запросить имена файлов 8.3, длинные имена файлов или полный путь к файлу из системы, рассмотрите следующие варианты:

  • Чтобы получить форму длинного имени файла в формате 8.3, используйте функцию GetShortPathName.
  • Чтобы получить версию короткого имени с длинным именем файла, используйте функцию GetLongPathName.
  • Чтобы получить полный путь к файлу, используйте функцию GetFullPathName.

В более новых файловых системах, таких как NTFS, exFAT, UDFS и FAT32, Windows сохраняет длинные имена файлов на диске в кодировке Юникод, что означает, что всегда сохраняется исходное длинное имя файла. Это верно, даже если длинное имя файла содержит расширенные символы, независимо от кодовой страницы, которая активна во время операции чтения или записи с диска.

Файлы с длинными именами файлов можно копировать между разделами файловой системы NTFS и разделами файловой системы Windows FAT без потери информации об именах файлов. Это может быть не так для более старых файловых систем MS-DOS FAT и некоторых типов файловых систем CDFS (CD-ROM), в зависимости от фактического имени файла. В этом случае по возможности заменяется короткое имя файла.

Пути

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

Если компонент пути является именем файла, он должен быть последним компонентом.

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

Полный и относительный пути

Для функций Windows API, управляющих файлами, имена файлов часто могут указываться относительно текущего каталога, а для некоторых API требуется полный путь. Имя файла относится к текущему каталогу, если оно не начинается с одного из следующих символов:

  • Имя UNC любого формата, которое всегда начинается с двух символов обратной косой черты ("\\"). Дополнительные сведения см. в следующем разделе.
  • Обозначение диска с обратной косой чертой, например "C:\" или "d:\".
  • Одна обратная косая черта, например, "\directory" или "\file.txt". Его также называют абсолютным путем.

Если имя файла начинается только с обозначения диска, но не с обратной косой черты после двоеточия, оно интерпретируется как относительный путь к текущему каталогу на диске с указанной буквой. Обратите внимание, что текущий каталог может быть или не быть корневым каталогом в зависимости от того, что он был установлен во время самой последней операции «изменить каталог» на этом диске. Ниже приведены примеры этого формата:

  • «C:tmp.txt» относится к файлу с именем «tmp.txt» в текущем каталоге на диске C.
  • "C:tempdir\tmp.txt" относится к файлу в подкаталоге текущего каталога на диске C.

Путь также считается относительным, если он содержит "двойные точки"; то есть два периода вместе в одном компоненте пути. Этот специальный спецификатор используется для обозначения каталога над текущим каталогом, также известного как «родительский каталог». Ниже приведены примеры этого формата:

  • "..\tmp.txt" указывает файл с именем tmp.txt, расположенный в родительском каталоге текущего каталога.
  • "..\..\tmp.txt" указывает файл, который находится на два каталога выше текущего каталога.
  • "..\tempdir\tmp.txt" указывает файл с именем tmp.txt, расположенный в каталоге с именем tempdir, который является равноправным каталогом для текущего каталога.

Относительные пути могут сочетать оба типа примеров, например "C.\tmp.txt". Это полезно, потому что, хотя система отслеживает текущий диск вместе с текущим каталогом этого диска, она также отслеживает текущие каталоги в каждой из разных букв диска (если в вашей системе их несколько), независимо от какое обозначение диска установлено в качестве текущего диска.

Ограничение максимальной длины пути

В выпусках Windows до Windows 10 версии 1607 максимальная длина пути — MAX_PATH, которая определяется как 260 символов. В более поздних версиях Windows для снятия ограничения требуется изменение раздела реестра или использование инструмента групповой политики. Полную информацию см. в разделе Ограничение максимальной длины пути.

Пространства имен

Существует две основные категории соглашений о пространствах имен, используемых в Windows API, обычно называемых пространствами имен NT и пространствами имен Win32.Пространство имен NT было разработано как пространство имен самого низкого уровня, в котором могут существовать другие подсистемы и пространства имен, включая подсистему Win32 и, соответственно, пространства имен Win32. POSIX — еще один пример подсистемы Windows, созданной на основе пространства имен NT. Ранние версии Windows также определяли несколько предопределенных или зарезервированных имен для определенных специальных устройств, таких как коммуникационные (последовательные и параллельные) порты и консоль дисплея по умолчанию, как часть того, что сейчас называется пространством имен устройств NT, и все еще поддерживаются в текущих версиях. Windows для обратной совместимости.

Пространства имен файлов Win32

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

При файловом вводе-выводе префикс "\\?\" к строке пути указывает API-интерфейсам Windows отключить всю строку синтаксического анализа и отправить строку, следующую за ней, прямо в файловую систему. Например, если файловая система поддерживает большие пути и имена файлов, вы можете превысить ограничения MAX_PATH, которые в противном случае применяются API-интерфейсами Windows. Дополнительные сведения об обычном ограничении максимального пути см. в предыдущем разделе Ограничение максимальной длины пути.

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

Многие, но не все API файлового ввода-вывода поддерживают "\\?\"; вы должны посмотреть справочную тему для каждого API, чтобы быть уверенным.

Обратите внимание, что следует использовать API Unicode, чтобы убедиться, что префикс "\\?\" позволяет превысить MAX_PATH

Пространства имен устройств Win32

Префикс "\\.\" будет обращаться к пространству имен устройств Win32, а не к пространству имен файлов Win32. Так осуществляется доступ к физическим дискам и томам напрямую, минуя файловую систему, если API поддерживает такой тип доступа. Таким образом вы можете получить доступ ко многим устройствам, кроме дисков (например, с помощью функций CreateFile и DefineDosDevice).

Например, если вы хотите открыть последовательный порт 1 системы, вы можете использовать "COM1" в вызове функции CreateFile. Это работает, потому что COM1–COM9 являются частью зарезервированных имен в пространстве имен NT, хотя использование префикса «\\.\» также будет работать с этими именами устройств. Для сравнения, если у вас установлена ​​плата последовательного расширения на 100 портов и вы хотите открыть COM56, вы не сможете открыть ее с помощью «COM56», поскольку для COM56 нет предопределенного пространства имен NT. Вам нужно будет открыть его с помощью "\\.\COM56", потому что "\\.\" переходит непосредственно к пространству имен устройства, не пытаясь найти предопределенный псевдоним.

Другим примером использования пространства имен устройств Win32 является использование функции CreateFile с "\\.\PhysicalDiskX" (где X – допустимое целочисленное значение) или " \\.\CdRomX". Это позволяет вам обращаться к этим устройствам напрямую, минуя файловую систему. Это работает, потому что эти имена устройств создаются системой по мере перечисления этих устройств, а некоторые драйверы также создают другие псевдонимы в системе. Например, драйвер устройства, реализующий имя "C:\", имеет собственное пространство имен, которое также является файловой системой.

API, использующие функцию CreateFile, обычно работают с префиксом "\\.\", поскольку функция CreateFile используется для открытия как файлов, так и устройств, в зависимости от используемых вами параметров.

Если вы работаете с функциями Windows API, вы должны использовать префикс "\\.\" для доступа только к устройствам, а не к файлам.

Большинство API не поддерживают "\\.\"; только те, которые предназначены для работы с пространством имен устройства, распознают его. Всегда проверяйте справочную тему для каждого API, чтобы быть уверенным.

Пространства имен NT

Есть также API, которые позволяют использовать соглашение о пространстве имен NT, но диспетчер объектов Windows в большинстве случаев делает это ненужным. Для иллюстрации полезно просматривать пространства имен Windows в обозревателе системных объектов с помощью инструмента Windows Sysinternals WinObj. Когда вы запускаете этот инструмент, вы видите пространство имен NT, начинающееся с корня, или "\". Подпапка под названием "Global??" где находится пространство имен Win32. Объекты именованных устройств находятся в пространстве имен NT в подкаталоге «Device». Здесь вы также можете найти Serial0 и Serial1, объекты устройства, представляющие первые два COM-порта, если они есть в вашей системе.Объект устройства, представляющий том, может иметь вид HarddiskVolume1, хотя числовой индекс может отличаться. Имя «DR0» в подкаталоге «Harddisk0» является примером объекта устройства, представляющего диск, и т. д.

Чтобы сделать эти объекты устройств доступными для приложений Windows, драйверы устройств создают символическую ссылку (символическую ссылку) в пространстве имен Win32 "Global??" на соответствующие объекты устройств. Например, COM0 и COM1 в разделе "Глобальные??" subdirectory — это просто символические ссылки на Serial0 и Serial1, «C:» — это символическая ссылка на HarddiskVolume1, «Physicaldrive0» — это символическая ссылка на DR0 и так далее. Без символической ссылки указанное устройство «Xxx» не будет доступно ни одному приложению Windows, использующему соглашения о пространстве имен Win32, как описано ранее. Однако дескриптор этого устройства может быть открыт с помощью любых API, поддерживающих абсолютный путь пространства имен NT в формате "\Device\Xxx".

С добавлением многопользовательской поддержки через службы терминалов и виртуальные машины возникла необходимость в виртуализации общесистемного корневого устройства в пространстве имен Win32. Это было достигнуто путем добавления символической ссылки с именем «GLOBALROOT» в пространство имен Win32, которое вы можете увидеть в «Global??» подкаталог инструмента браузера WinObj, который обсуждался ранее, и может получить доступ через путь «\\?\GLOBALROOT». Этот префикс гарантирует, что путь, следующий за ним, соответствует истинному корневому пути диспетчера системных объектов, а не пути, зависящему от сеанса.

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

Доступность

Dir — это внутренняя команда, доступная в командной строке всех операционных систем Microsoft.

Описание

Команда dir отображает список файлов и подкаталогов в каталоге. С параметром /S он рекурсирует подкаталоги и также выводит их содержимое.

Перечисленные ниже параметры могут быть предварительно заданы в переменной среды DIRCMD. Чтобы переопределить предустановленные параметры, добавьте к любому переключателю префикс - (дефис), например, "/-W".

Синтаксис

Синтаксис команды dir со временем несколько изменился. Выберите свою операционную систему, чтобы перейти к информации, относящейся к вашей версии.

Синтаксис Windows 11, 10, 8, 7, Vista, XP и 2000

[Диск:][Путь][Имя файла] Указывает диск, каталог или файлы для отображения. Допускается использование нескольких спецификаций файлов, например "*.txt *.exe".
/A:Атрибуты Только отображение файлы с указанными атрибутами файлов. Атрибуты – это набор букв, каждая из которых представляет атрибут, как показано ниже.

D : Каталоги.
R : файлы только для чтения.
H : Скрытые файлы.
A : Файлы отмечены как готовые к архивированию.
S : Системные файлы.
I : Неиндексированные файлы.
L : Точки повторной обработки.
- : префикс, означающий "не".

N : По имени (в алфавитном порядке).
S : по размеру (сначала самые маленькие).
E : По расширению (в алфавитном порядке).
D : По дате/времени (сначала самые старые).
G : Сначала сгруппируйте каталоги.
- : Префикс для обратного порядка.

C : Время создания.
A : Время последнего доступа.
W : время последней записи.

Синтаксис Windows ME, 98, 95, 3.x и MS-DOS

[Диск:][Путь][Имя файла] Указывает диск, каталог или файлы для отображения. Допускается использование нескольких спецификаций файлов, например, "*.txt *.exe".
/P Пауза после каждого отображения информации на экране.
/W Использует формат широкого списка.
/A[:Атрибуты ] Показать только файлы с указанными атрибутами файлов. Атрибуты – это набор букв, указывающих.

Примеры

Список всех файлов и каталогов в текущем каталоге.

Выводит список всех файлов, имя которых имеет расширение ".exe".

Из-за принципа работы сопоставления с подстановочными знаками также отображаются файлы с расширением, состоящим из четырех и более символов (например, .exec).

Список файлов с расширением ".txt" или ".doc".

Показывает только каталоги.

Выводить только файлы с атрибутом "только для чтения".

Рекурсивно перечисляет файлы и каталоги в каталоге и в любых подкаталогах. Например, если ваш текущий каталог является корневым каталогом "C:\>", эта команда выводит список всех файлов и каталогов на диске C:.

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

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

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

То же, что и предыдущая команда, но перечисляет все в C:\Program Files, а не в текущем каталоге. Поскольку имя каталога содержит пробел, оно заключено в двойные кавычки, чтобы его нельзя было интерпретировать как два отдельных параметра.

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

Отображает файлы в обратном алфавитном порядке.

Список всех файлов и каталогов в C:\Windows и любых его подкаталогах (/s), которые имеют как "скрытый", так и "системный" файловый атрибут (/a:sh). Кроме того, перечисляет владельца файла (/q) и делает паузу после каждого экрана вывода (/p).

Вышеприведенная команда использует вертикальные полосы для передачи вывода из каталога в команду find, а затем в команду more. Результатом является список всех файлов и каталогов в корневом каталоге текущего диска (\) с дополнительной информацией. А именно, find также отображает количество файлов в каждом каталоге и объем занимаемого каждым из них места.

Выполняет команду dir, но перенаправляет вывод в файл myfile.txt, вместо того, чтобы отображать его на экране. Здесь команда dir не имеет параметров, но перенаправление работает с любой указанной вами командой, поэтому следующая команда также работает.

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

Если файл очень длинный, вы можете ввести больше текста, чтобы он приостанавливался после каждого экрана.

Длинное имя файла и короткий файл имя, указанное в командной строке Windows с помощью команды dir». ширина =

Длинное имя файла, иногда сокращенно обозначаемое как LFN, представляет собой компьютерное имя файла, допускающее произвольное количество символов. С помощью LFN пользователи могут давать сложные описательные имена своим файлам и каталогам. LFN был широко представлен потребителям с выпуском Microsoft Windows 95 как обновление формата именования 8.3 без учета регистра в Windows 3 и MS-DOS. До Windows 95 длинные имена файлов были свойственны только современным файловым системам, но они не поддерживались ранними версиями Microsoft Windows и MS-DOS.

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

Почему длинные имена файлов полезны

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

Ваша операционная система знает, как обрабатывать это имя, включая знаки препинания, пробелы и заглавные буквы.

Ранние версии Windows, MS-DOS и FAT

Однако ранние версии операционных систем Microsoft, такие как MS-DOS или Windows 3.x, не поддерживали длинные имена файлов. Они использовали FAT, файловую систему, которая ограничивает имена файлов восемью символами и трехсимвольным расширением имени файла. Имена файлов FAT также были нечувствительны к регистру, то есть не различались прописные и строчные буквы. Это соглашение об именовании файлов FAT было широко известно как формат 8.3.

Если бы вы использовали одну из этих операционных систем, вам пришлось бы переименовать свою фотографию примерно так:

Windows 95 и VFAT

Windows, наконец, добавила поддержку длинных имен файлов в Windows 95, присоединившись к другим операционным системам, таким как Unix, OS/2 и macOS, которые уже включали поддержку длинных имен файлов.

Выпущенная в августе 1995 года Windows 95 содержала новую версию FAT, называемую VFAT, которая поддерживала имена файлов максимальной длиной 255 символов. Все это было достигнуто без потери обратной совместимости с существующими томами DOS. Из-за обратной совместимости длинные имена файлов, если они есть, преобразуются VFAT в исходное соглашение об именах файлов, состоящее из 8,3 символов, после внесения в каждый файл следующих изменений.

  1. Расширенные символы + , ; = [ и ] преобразуются в символы подчеркивания ( _ ).
  2. Первые три символа после точки становятся расширением.
  3. Пробелы игнорируются.
  4. Первые шесть оставшихся символов преобразуются в верхний регистр.
  5. Последние два символа после первых шести становятся "~1". Если существует другой файл с теми же первыми шестью символами и ~1, имя файла преобразуется в «~2». Этот процесс продолжается для всех файлов в каталоге. Если у вас есть более девяти файлов с одинаковыми первыми девятью символами, десятый файл становится ~10, используя последние три символа.

Чтобы получить доступ к длинному имени файла или каталогу, например "мое длинное имя файла или каталог", пользователю необходимо использовать его короткое имя MS-DOS. Пример показан ниже.

Утилита LFNBK

Установочные носители Windows 95 и 98 содержали утилиту резервного копирования файлов с длинными именами под названием LFNBK. Варианты утилиты распространялись в виде исполняемых файлов, включая LFNBK.EXE, DOSLFNBK.EXE и SULFNBK.EXE. Эти внутренние утилиты Windows использовались для резервного копирования или восстановления информации о длинных именах файлов. Эти утилиты следует использовать с осторожностью, поскольку они могут навсегда изменить вашу файловую систему. Например, запуск LFNBK /A /B C: может удалить длинные имена файлов из тома VFAT на диске C: и сохранить их в текстовом файле с именем LFNBK.DAT. Длинные имена файлов можно восстановить позже, выполнив команду LFNBK /R.

Зарезервированные символы

Длинные имена файлов в Windows могут содержать любые печатные символы, кроме следующих зарезервированных символов:

Windows NT, 2000 и XP

В отличие от более ранних версий Windows, пользователи могут получить доступ к командной строке Windows с помощью CMD вместо команды COMMAND. Если вы открываете командную строку из Выполнить, введите CMD вместо COMMAND, и вы можете использовать полное длинное имя файла вместо короткого имени в формате 8.3.

Windows 95, 98 и ME

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

Если вы вышли из Windows в командную строку MS-DOS или загрузились с загрузочной дискеты, вам необходимо использовать краткие имена файлов. Например, если вы пытаетесь попасть в каталог «Program Files», введите следующую команду.

В более поздних версиях Microsoft Windows (например, Microsoft Windows 2000 или Windows XP) некоторые команды в оболочке могут содержать пробелы без заключения в кавычки.

Длинные имена файлов с пробелами

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

Длинные имена каталогов

Если вы пытаетесь получить доступ к каталогу "Microsoft Office" в каталоге "Program Files", вы можете ввести:

Длинные имена файлов, которые неправильно сохраняются как имена 8.3

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

Длинные имена, которые сокращаются в командной строке Windows

Если компьютер загружается в командной строке или вы используете загрузочную дискету Windows 98 и используете длинные имена файлов, ваши файлы будут перезаписаны. Это известная проблема с Microsoft Windows 98, и мы рекомендуем в MS-DOS не использовать длинные имена файлов, а вместо этого использовать обычные имена файлов формата 8.3.

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