Максимальная длина имени файла в операционной системе windows

Категория:
Фундаментальные статьи
– Автор:
Игорь (Администратор)

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

Ограничение длины файлов в Windows особенности и тонкости

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

Примечание: Если вы не знали, то в большинстве файловых систем каталог — это разновидность файла, но с нулевым размером данных.

Существует множество различных файловых систем, каждая из который по-своему определяет структуру имени файла, включая способ построения пути к файлу. К примеру, на небольших usb устройствах хранения данных, обычно, используется система FAT32. А на оптических дисках (CD/DVD) обычно используется UDF или ISO 9660. На системных дисках последних ОС Windows используется файловая система NTFS, которая и станет предметом данной статьи (как наиболее распространенная для Windows).

Примечание: К примеру, на системных дисках с Windows XP, часто, использовалась файловая система FAT32. Однако, у нее был существенный (для сегодняшнего времени) недостаток — это ограничение на максимальный размер файла в 4 Гб. NTFS же не имеет такого ограничения.

Существует некоторая путаница в цифрах максимальной длины имени файла в файловой системе NTFS, которую вы можете обнаружить в различных источниках. Для начала, есть абсолютный предел, введенный Windows API, и он составляет 260 символов. Тем не менее, практический пределе меньше, чем 260 символов. Например, все имена должны иметь нулевой терминатор в конце. Обычно, этот маркер видит только Windows, но он все равно воспринимается, как один символ. Таким образом ,у вас есть только 259 доступных символов. Еще три символа используются для указания диска (например, C:\). Таким образом, реальный предел для имени, содержащего все каталоги, включая вложенные, и название самого файла вместе с расширением, уменьшается до 256 символов.

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

Тем не менее, есть еще одна тонкость, связанная с тем, как Windows кодирует символы. Ни один индивидуальный объект (файл или каталог) не может иметь имя длиннее 255 символов. При этом, имя включает в себя пробелы и обратную косую черту, которая используется в качестве разделителей. Этот предел в 255 символов часто цитируется, как предел для названия отдельного файла, но, на практике, это относится только к именам файлов в корневом каталоге без каких-либо каталогов.

Существует и еще одно ограничение на длину имени файла, которое часто упускается из виду. Обычно, по умолчанию Windows поддерживает альтернативное имя файла, используя старую систему именования 8.3. Когда вы создаете папку, Windows будет резервировать 12 символов для альтернативного имени файла, оставляя 244 символов для всех содержащихся внутри объектов. Использование системы именования 8.3 можно отключить, но это может вызвать проблемы, при использовании старых 16-битных программ.

Примечание: Система именования 8.3 довольно проста. 8 — это количество символов наименования. «.» — это разделитель между названием и расширением. 3 — это количество символов для расширения. 12 — это 8 + 1 + 3.

Примечание: Подробнее о том, как отключить поддержку 8.3, смотрите информацию по адресу https://technet.microsoft.com/ru-ru/library/cc778996.aspx. Учтите, что вам потребуется редактировать реестр.

Существует так же механизм, который позволяет использовать более длинные имена файлов. Например, сетевым системам, порой, требуется больше гибкости в именах файлах. Поэтому, Windows API включает в себя специальную систему обращения для поддержки очень длинных Unicode имен в блоках по 255 символов. Эти длинные имена начинаются с префикса «\\?\» (без кавычек). Так что, если вы столкнулись с проблемой в имени файла, у которого длина слишком большая, то попробуйте использовать этот префикс в имени пути, например, «\\?\c:\file.txt» (без кавычек).

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

☕ Понравился обзор? Поделитесь с друзьями!

  • Типы программ резервирования: какая разница между образом диска, файловым бэкапом и синхронизацией, и какой тип стоит использовать?

    Типы программ резервирования: какая разница между образом диска, файловым бэкапом и синхронизацией, и какой тип стоит использовать?
    Фундаментальные статьи

  • Что такое RSS и как его использовать?

    Что такое RSS и как его использовать?
    Фундаментальные статьи

  • Что означает портативное приложение (portable)?

    Что означает портативное приложение (portable)?
    Фундаментальные статьи

  • IP-адрес и его особенности

    IP-адрес и его особенности
    Фундаментальные статьи

  • Joomla 2.5 добавление пользователями материалов (статей) на сайт

    Joomla 2.5 добавление пользователями материалов (статей) на сайт
    Фундаментальные статьи

  • Система поведенческого анализа антивируса простыми словами

    Система поведенческого анализа антивируса простыми словами
    Фундаментальные статьи

Добавить комментарий / отзыв

Слишком длинное имя файла или слишком длинный целевой путь — как исправить?

Как исправить ошибки слишком длинное имя файла или слишком длинный целевой путьПри копировании, создании, сохранении или перемещении файлов и папок в Windows 11 и Windows 10 на внутреннем HDD или SSD, при копировании данных на внешний диск или флешку, вы можете столкнуться с ошибками вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку», «Указано неправильное или слишком длинное имя файла» и другие, имеющие отношение к слишком длинным именам или путям к файлам и папкам.

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

  • Слишком длинное имя файла или слишком длинный целевой путь
    • Причины ошибки и способы её исправить
    • Как включить поддержку длинных путей в Windows
      • В редакторе реестра
      • В редакторе локальной групповой политики
    • Почему ошибка сохраняется при включенной поддержке длинных путей

Причины ошибки «Слишком длинное имя файла» и «Слишком длинный целевой путь» и способы её исправить

Слишком длинный целевой путь при копировании

Несмотря на то, что файловой системой NTFS длина пути ограничена 32760 символов, в Windows существует ограничение на полный путь в 260 символов, включая путь к папке и имя файла с расширением. Ещё одно ограничение — 255 символов на имя файла или отдельной папки. Схожие ограничения есть для файловых систем FAT32 и ExFAT. Когда полный путь к файлу, с которым вы выполняете действия, превышает указанное число символов, вы можете получить сообщение об ошибках о слишком длинном целевом пути или слишком длинном имени файла.

Ошибка Слишком длинное имя файла в Windows

Отсюда основные способы исправить ошибки, связанные с использованием слишком длинного пути:

  1. Использовать более короткие имена файлов и более простое и «компактное» дерево папок.
  2. Включить поддержку длинных путей — такая опция есть в Windows 10 и Windows 11, далее будет рассмотрен порядок действий. Однако, это решит не все проблемы, о чем мы также поговорим.
  3. Использовать файловые менеджеры, которые могут работать с длинными путями по умолчанию: Total Commander, Files (но для него потребуется включить и поддержку длинных путей в системе) или даже 7-Zip File Manager, который прекрасно с этим справляется.

Как включить поддержку длинных путей в Windows 10 и Windows 11

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

В редакторе реестра

Если на вашем компьютере установлена Windows 11 или Windows 10 Домашняя, используйте редактор реестра для включения опции:

  1. Нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить» или нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
  2. В редакторе реестра перейдите к разделу
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  3. В правой панели редактора реестра дважды нажмите по параметру с именем LongPathsEnabled и присвойте значение 1 вместо 0 для этого параметра. Включить поддержку длинных путей в редакторе реестра Windows
  4. Закройте редактор реестра, перезагрузите компьютер.

В редакторе локальной групповой политики

В Windows Pro и Enterprise можно использовать редактор локальной групповой политики:

  1. Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc в диалоговом окне «Выполнить» и нажмите Enter.
  2. Перейдите к разделу Конфигурация компьютера — Административные шаблоны — Система — Файловая система.
  3. Дважды нажмите по параметру «Включить длинные пути Win32». Политики файловой системы в gpedit
  4. Установите значение «Включено» для этого параметра, примените настройки. Включить поддержку длинных путей в редакторе локальной групповой политики
  5. Закройте редактор локальной групповой политики и перезагрузите компьютер.

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

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

Имена файлов слишком длинны для помещения в эту папку

Даже если вы включите поддержку длинных путей к папкам и файлам в Windows 11/10, при действиях с такими файлами в проводнике и некоторых программах вы продолжите получать ошибки вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку» или «Указано неправильное или слишком длинное имя файла», также будут недоступны некоторые действия в папках, имеющих длинный путь.

Причина этого — поддержка длинных путей требуется не только на уровне системы, но и в самой программе, которая работает с этими путями, в качестве примера:

  • Проводник не сможет полноценно работать с длинными путями даже при включенной поддержке.
  • Файловый менеджер Files из магазина приложений будет исправно работать, если включить поддержку длинных путей, и будет сообщать об ошибках при отключенной поддержке. Работа с длинными путями в файловом менеджере Files
  • Total Commander или встроенный файловый менеджер 7-Zip работают с длинными путями независимо от того, включена ли их поддержка в Windows.

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

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

Перейти к содержанию

На чтение 3 мин Опубликовано Обновлено

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

Одним из главных ограничений в именах файлов является использование некоторых специальных символов, таких как знаки вопроса (?), знаки восклицания (!), знаки процента (%), знаки хеш-символа (#) и другие. Все эти символы имеют специальное значение для операционной системы, поэтому их использование в именах файлов может привести к ошибкам и нежелательным результатам.

Еще одним ограничением является максимальная длина имени файла — 255 символов. В данное число входят не только символы имени файла, но и символы пути к файлу. Для компьютеров с файловой системой NTFS максимальная длина пути составляет 32 767 символов, но большинство приложений и операционных систем не поддерживает такие длинные имена файлов и путей, поэтому рекомендуется придерживаться краткости.

Также стоит учитывать регистр символов в именах файлов. В операционной системе Windows регистрозависимые файловые системы (например, FAT и NTFS) учитывают регистр символов, то есть файл «file.txt» и «File.txt» будут считаться разными файлами. Это нужно учитывать при работе с файлами, чтобы избежать ошибок и путаницы.

Основные правила и ограничения имени файлов в Windows

Вот основные правила и ограничения, которые следует учитывать при именовании файлов в Windows:

Правило / Ограничение Описание
Длина имени Имя файла не должно превышать 255 символов. Это включает в себя имя файла и его расширение.
Разрешенные символы Имя файла может содержать латинские буквы (A-Z, a-z), цифры (0-9), а также специальные символы, такие как точка (.), тире (-) и подчеркивание (_).
Запрещенные символы Некоторые символы запрещены в именах файлов, такие как знаки вопроса (?), звездочка (*), двоеточие (:), вертикальная черта (|), обратная косая черта (\), кавычки («»), угловые скобки (< >) и другие.
Регистр символов Имена файлов в Windows регистрозависимы, то есть различают между большими и малыми буквами. Например, файл «File.txt» и «file.txt» будут считаться различными файлами.
Зарезервированные имена Существуют зарезервированные имена файлов, которые нельзя использовать, такие как «CON», «PRN», «NUL», «COM1», «LPT1» и другие. Использование этих имен может вызвать ошибки при работе операционной системы.

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

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

Одним из основных ограничений для имени файла является максимальная длина имени — 255 символов. В это число входят и имя файла, и его расширение. Также следует помнить, что операционная система Windows не различает регистр символов в названии файла, поэтому имя «file.txt» и «FILE.TXT» будут считаться одинаковыми файлами.

Кроме того, существуют некоторые символы, которые нельзя использовать в имени файла из-за своего специального значения для операционной системы. К таким символам относятся: \ / : * ? » < > |. Также, файлы не должны начинаться с точки или пробела, а также не должны содержать пробелов внутри имени.

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

Содержание

  1. Ограничения имён файлов в Windows
  2. Основные правила и символы
  3. Ограничения длины имени файла
  4. Зарезервированные и запрещенные имена файлов

Ограничения имён файлов в Windows

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

Одно из основных ограничений — запрет на использование некоторых специальных символов в именах файлов. Недопустимы символы: \ / : * ? » < > | . Данные символы имеют специальное значение в системе и могут вызвать нарушение работы операционной системы или программ.

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

Windows также имеет ограничения на длину имени файла. В файловой системе NTFS максимальная длина имени файла составляет 255 символов, в FAT16 и FAT32 — 8 символов, включая расширение. Если имя файла превышает указанную длину, система автоматически обрезает его до допустимой длины.

Кроме того, Windows не различает регистр символов в именах файлов. Это значит, что, например, файлы «file.txt» и «File.txt» будут восприниматься системой как один и тот же файл.

Недопустимо также именование файлов с некоторыми зарезервированными именами, такими, например, как «CON», «PRN», «AUX», «NUL», «COM1», «COM2», «COM3», «COM4», «LPT1», «LPT2», «LPT3», «LPT4». Эти имена зарезервированы для использования системой и не могут быть использованы для обычных файлов.

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

Основные правила и символы

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

Основные правила для имен файлов в MS Windows:

  1. Длина имени файла не должна превышать 255 символов.
  2. Имя файла может состоять из букв латинского алфавита (как прописных, так и строчных), цифр и следующих специальных символов: _ (подчеркивание), - (дефис), . (точка).
  3. Имя файла не должно содержать следующие специальные символы: \ (обратный слеш), / (прямой слеш), : (двоеточие), * (звездочка), ? (вопросительный знак), " (кавычки), < (меньше), > (больше), | (вертикальная черта).
  4. Имя файла не должно начинаться с точки (.) или пробела.
  5. Регистр символов в имени файла имеет значение. Например, файлы с именами file.txt и FILE.txt будут считаться разными файлами.

Соблюдение этих правил поможет вам избежать проблем с именами файлов при работе в операционной системе MS Windows.

Ограничения длины имени файла

В операционной системе MS Windows существуют определенные ограничения на длину имени файла. Длина имени файла включает в себя имя самого файла и расширение.

В Windows NT-подобных операционных системах, таких как Windows XP, Windows 7, Windows 10 и т.д., максимальная длина имени файла составляет 255 символов. Это ограничение включает в себя все символы имени, включая точку и расширение файла.

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

Важно отметить, что ограничение на длину имени файла в операционной системе MS Windows также может быть ограничено жестким диском или файловой системой, которая используется. Например, некоторые файловые системы, такие как FAT16, имеют ограничение на длину имени в 8 символов для имени файла и 3 символа для расширения.

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

Операционная система Максимальная длина имени файла Ограничение расширения файла
Windows XP, Windows 7, Windows 10 и т.д. 255 символов Не ограничено
MS-DOS, Windows 95 8 символов 3 символа

Зарезервированные и запрещенные имена файлов

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

Некоторые примеры зарезервированных имен файлов:

  • CON: Обозначает устройство консоли и не может быть использовано в качестве имени файла.
  • PRN: Обозначает устройство принтера и также не может быть использовано в качестве имени файла.
  • AUX: Обозначает вспомогательное устройство и также не может быть использовано в качестве имени файла.
  • NUL: Обозначает пустой поток данных и также не может быть использовано в качестве имени файла.

Кроме зарезервированных имен файлов, существуют также запрещенные имена, которые являются частью конкретных правил или ограничений операционной системы. Например, Windows запрещает использование символов в именах файлов, таких как /, \, :, *, ?, «, <, > и |. Также, длина имени файла ограничена 255 символами.

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

Many Windows applications (e.g., almost all .NET apps) cannot open paths more than 260 characters in length. I am batch renaming a list of podcast files. I want to name each file after the title of the episode, but the titles are up to 100 characters long. This means that if a user saves the file in a deep directory with a very long path, they may hit the limit and be unable to open the file in those other applications.

Is it acceptable for my program to put out file names this long, and leave it to the user to deal with very long paths when it comes up? iTunes crops at 40 chars, but that seems very conservative.

Thanks to Ben Voigt for clarifying that this only applies to certain apps.

asked Dec 29, 2011 at 23:43

Alex's user avatar

AlexAlex

2352 silver badges10 bronze badges

4

Windows does NOT have a limit of 255 characters for file paths.

CreateFileA has a limit of 260 characters. CreateFileW supports names up to about 32760 characters (64kB).

Some filesystems impose additional limits on the maximum directory nesting level, or the maximum length of each part.

You’re probably thinking of certain popular Windows programs that have a 255 character limit, but accommodating those with a warning or user-configurable setting is probably more appropriate than adding your own hard limit.

answered Dec 29, 2011 at 23:51

Ben Voigt's user avatar

Ben VoigtBen Voigt

279k43 gold badges421 silver badges720 bronze badges

2

Well I remember having an USB that didn’t support more than 32 characters in the filename (can’t remember which FS it had). I also just found this link on Google: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

Character count limitations can also be different and can vary depending on the file system and path name prefix format used. This is further complicated by support for backward compatibility mechanisms. For example, the older MS-DOS FAT file system supports a maximum of 8 characters for the base file name and 3 characters for the extension, for a total of 12 characters including the dot separator. This is commonly known as an 8.3 file name. The Windows FAT and NTFS file systems are not limited to 8.3 file names, because they have long file name support, but they still support the 8.3 version of long file names.

answered Dec 29, 2011 at 23:53

Tixz's user avatar

TixzTixz

1351 silver badge8 bronze badges

  • Марка руссиновича внутреннее устройство microsoft windows
  • Максимальная оптимизация windows 10 для игр
  • Максимальная длина имени компьютера windows
  • Максимальная длина пароля в windows
  • Макроскоп скачать бесплатно для windows