Какая максимальная длина имени файла в windows

Смотрите также Как в Windows 10 включить поддержку пути к файлам длиной более 260 символов.

Смотрите также Как в Windows 10 включить поддержку пути к файлам длиной более 260 символов.

Во всех операционных системах и для всех файловых систем существуют определённые лимиты на:

  • размер имени файла
  • на полный путь файла (который включает папки и подпапки)

Операционная система Windows не является исключением, в ней длина имени файла или папки ограничена 255 символами, а вся длина пути ограничена примерно 32,000 символами.

Имеется ряд исключений, когда разрешённая длина файла должна быть меньше этих значений:

  • предыдущие версии Windows
  • сетевые диски
  • оптические диски CD и DVD

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

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

При поиске по файлам средствами ОС, эти файлы также недоступны для индексации и поиска по ним.

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

Подтвердить проблему слишком длинного имени на сетевом носителе можно командой вида:

dir "\путьдопапки"

Например команда:

dir "\VBOXSVRShareАрхив работУП"

вызывает следующую ошибку из-за того, что в папке имеется файл со слишком длинным именем:

    Каталог: \VBOXSVRShareАрхив работУП


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       24.08.2010     17:29                Общая часть
d-----       17.02.2019     16:10                Особенная часть
d-----       01.11.2018     10:24                Чужое
dir : Параметр задан неверно.
строка:1 знак:1
+ dir "\VBOXSVRShareАрхив работУП"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ReadError: (\VBOXSVRShareАрхив работУП:String) [Get-ChildItem], IOException
    + FullyQualifiedErrorId : DirIOError,Microsoft.PowerShell.Commands.GetChildItemCommand

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

В остальных случаях, попробуйте следующие советы:

1. (если слишком длинный путь до файла) Вначале скопируйте папку на более высокие уровни в windows эксплорере и затем переместите их на ваш локальный компьютер

2. (если имена файлов слишком длинные) Вначале попробуйте поместить их в архив программами zip/rar/7z и затем скопируйте файл архива на свой локальный компьютер и извлеките его содержимое

3. Попробуйте встроенную программу ROBOCOPY:

robocopy /E ИСТОЧНИК НАЗНАЧЕНИЕ

4. Попробуйте перед путём добавить \?

\?C:SomeReallyLongPath

5. Используйте сторонне программное обеспечение (о нём далее)

FastCopy — это проект с открытым исходным кодом на C, написанный SHIROUZU Hiroaki и это «Самое быстрое программное обеспечение для копирования/удаления файлов на Windows.» Программа поддеррживает UNICODE и более чем MAX_PATH (260 символов) в путях имён файлов.

Если имеются сотни путей, которые слишком долго исправлять, то используйте инструмент «Path Tool Long Auto Fixer».

Связанные статьи:

  • Как в Windows 10 включить поддержку пути к файлам длиной более 260 символов (93.2%)
  • Как переименовать файл или папку в PowerShell (64.4%)
  • Создание жёстких и мягких ссылок с помощью PowerShell (64.4%)
  • Как создать общую сетевую папку на Windows (56.8%)
  • Как подключиться к сетевой папке в Windows (SMB) (56.8%)
  • Как ограничить скорость загрузки обновлений Windows 10 (RANDOM — 50%)

I’m designing a database table which will hold filenames of uploaded files. What is the maximum length of a filename in NTFS as used by Windows XP or Vista?

Peter Mortensen's user avatar

asked Nov 5, 2008 at 16:39

GateKiller's user avatar

GateKillerGateKiller

73k72 gold badges170 silver badges204 bronze badges

9

Individual components of a filename (i.e. each subdirectory along the path, and the final filename) are limited to 255 characters, and the total path length is limited to approximately 32,000 characters.

However, on Windows, you can’t exceed MAX_PATH value (259 characters for files, 248 for folders). See http://msdn.microsoft.com/en-us/library/aa365247.aspx for full details.

Louis CAD's user avatar

Louis CAD

10.7k2 gold badges37 silver badges57 bronze badges

answered Nov 5, 2008 at 16:41

Adam Rosenfield's user avatar

Adam RosenfieldAdam Rosenfield

384k96 gold badges510 silver badges586 bronze badges

13

It’s 257 characters.
To be precise:
NTFS itself does impose a maximum filename-length of several thousand characters (around 30’000 something).
However, Windows imposes a 260 maximum length for the Path+Filename. The drive+folder takes up at least 3 characters, so you end up with 257.

answered Nov 5, 2008 at 16:45

Alphager's user avatar

5

This is what the «Unhandled exception» says on framework 4.5 when trying to save a file with a long filename:

The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

screenshot

Samuel Liew's user avatar

Samuel Liew

75.1k106 gold badges159 silver badges249 bronze badges

answered Apr 12, 2013 at 12:29

Zero Infinity's user avatar

199 on Windows XP NTFS, I just checked.

This is not theory but from just trying on my laptop. There may be mitigating effects, but it physically won’t let me make it bigger.

Is there some other setting limiting this, I wonder? Try it for yourself.

Peter Mortensen's user avatar

answered Nov 5, 2008 at 16:48

dove's user avatar

dovedove

20.3k14 gold badges87 silver badges107 bronze badges

12

The length in NTFS is 255. The NameLength field in the NTFS $Filename attribute is a byte with no offset; this yields a range of 0-255.

The file name iself can be in different «namespaces». So far there are: POSIX, WIN32, DOS and (WIN32DOS — when a filename can be natively a DOS name). (Since the string has a length, it could contain but that would yield to problems and is not in the namespaces above.)

Thus the name of a file or directory can be up to 255 characters. When specifying the full path under Windows, you need to prefix the path with \? (or use \?UNCservershare for UNC paths) to mark this path as an extended-length one (~32k characters). If your path is longer, you will have to set your working directory along the way (ugh — side effects due to the process-wide setting).

Jesper's user avatar

Jesper

1,58111 silver badges10 bronze badges

answered Aug 24, 2010 at 13:51

Dominik Weber's user avatar

1

According to MSDN, it’s 260 characters. It includes "<NUL>" -the invisible terminating null character, so the actual length is 259.

But read the article, it’s a bit more complicated.

Michael Freidgeim's user avatar

answered Nov 5, 2008 at 16:42

Kibbee's user avatar

KibbeeKibbee

64.9k27 gold badges141 silver badges181 bronze badges

1

answered Nov 5, 2008 at 16:40

warren's user avatar

warrenwarren

31.8k21 gold badges86 silver badges121 bronze badges

I’m adding this to the above approved answer.

TO BE CLEAR, the reason people believe it to be 255-260 characters is because that is all that Windows Explorer supports. It will error out doing something like a file copy on filenames longer than that. However, a program can read and write much longer filenames (which is how you get to lengths that Explorer complains about in the first place). Microsoft’s «recommended fix» in situations like this is to open the file in the original program that wrote it and rename it.

answered Oct 9, 2012 at 14:16

std''OrgnlDave's user avatar

std»OrgnlDavestd»OrgnlDave

3,8721 gold badge24 silver badges34 bronze badges

2

This part of the official documentation says clearly that it’s 255 Unicode characters for NTFS, exFAT and FAT32, and 127 Unicode or 254 ASCII characters for UDF.

Apart from that, the maximum path name length is always 32,760 Unicode characters, with each path component no more than 255 characters.

answered Aug 9, 2018 at 20:31

caw's user avatar

cawcaw

30.7k60 gold badges180 silver badges290 bronze badges

1

According to the new Windows SDK documentation (8.0) it seems that a new path limit is provided. There is a new set of path handling functions and an definition of PATHCCH_MAX_CCH like follows:

// max # of characters we support using the "\?" syntax
// (0x7FFF + 1 for NULL terminator)
#define PATHCCH_MAX_CCH             0x8000

answered Sep 11, 2013 at 17:19

1

255 chars, though the complete path should not be longer than that as well. There is a nice table over at Wikipedia about this: http://en.wikipedia.org/wiki/Filename.

answered Nov 5, 2008 at 16:44

Svante Svenson's user avatar

Svante SvensonSvante Svenson

12.3k4 gold badges41 silver badges45 bronze badges

In Windows 11 (In NTFS drive) is 236 with extension

For testing rename a file with below name and try to add one character more:

1234567890123456789010123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

answered Oct 21, 2022 at 4:59

Mehdi's user avatar

MehdiMehdi

7432 gold badges8 silver badges20 bronze badges

238!
I checked it under Win7 32 bit with the following bat script:

set "fname="
for /l %%i in (1, 1, 27) do @call :setname
@echo %fname%
for /l %%i in (1, 1, 100) do @call :check
goto :EOF
:setname
set "fname=%fname%_123456789"
goto :EOF
:check
set "fname=%fname:~0,-1%"
@echo xx>%fname%
if not exist %fname% goto :eof
dir /b
pause
goto :EOF

answered May 28, 2015 at 14:08

SzB's user avatar

SzBSzB

9679 silver badges12 bronze badges

2

Actually it is 256, see File System Functionality Comparison, Limits.

To repeat a post on http://fixunix.com/microsoft-windows/30758-windows-xp-file-name-length-limit.html

«Assuming we’re talking about NTFS and not FAT32, the «255 characters
for path+file» is a limitation of Explorer, not the filesystem itself.
NTFS supports paths up to 32,000 Unicode characters long, with each
component up to 255 characters.

Explorer -and the Windows API- limits you to 260 characters for the
path, which include drive letter, colon, separating slashes and a
terminating null character. It’s possible to read a longer path in
Windows if you start it with a \«

If you read the above posts you’ll see there is a 5th thing you can be certain of:
Finding at least one obstinate computer user!

user692942's user avatar

user692942

16.1k7 gold badges76 silver badges172 bronze badges

answered Nov 20, 2009 at 17:01

fane's user avatar

2

I cannot create a file with the name+period+extnesion in WS 2012 Explorer longer than 224 characters. Don’t shoot the messenger!

In the CMD of the same server I cannot create a longer than 235 character name:

The system cannot find the path specified.

The file with a 224 character name created in the Explorer cannot be opened in Notepad++ — it just comes up with a new file instead.

answered Feb 23, 2018 at 21:12

ajeh's user avatar

ajehajeh

2,6002 gold badges31 silver badges61 bronze badges

1

I’m designing a database table which will hold filenames of uploaded files. What is the maximum length of a filename in NTFS as used by Windows XP or Vista?

Peter Mortensen's user avatar

asked Nov 5, 2008 at 16:39

GateKiller's user avatar

GateKillerGateKiller

73k72 gold badges170 silver badges204 bronze badges

9

Individual components of a filename (i.e. each subdirectory along the path, and the final filename) are limited to 255 characters, and the total path length is limited to approximately 32,000 characters.

However, on Windows, you can’t exceed MAX_PATH value (259 characters for files, 248 for folders). See http://msdn.microsoft.com/en-us/library/aa365247.aspx for full details.

Louis CAD's user avatar

Louis CAD

10.7k2 gold badges37 silver badges57 bronze badges

answered Nov 5, 2008 at 16:41

Adam Rosenfield's user avatar

Adam RosenfieldAdam Rosenfield

384k96 gold badges510 silver badges586 bronze badges

13

It’s 257 characters.
To be precise:
NTFS itself does impose a maximum filename-length of several thousand characters (around 30’000 something).
However, Windows imposes a 260 maximum length for the Path+Filename. The drive+folder takes up at least 3 characters, so you end up with 257.

answered Nov 5, 2008 at 16:45

Alphager's user avatar

5

This is what the «Unhandled exception» says on framework 4.5 when trying to save a file with a long filename:

The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

screenshot

Samuel Liew's user avatar

Samuel Liew

75.1k106 gold badges159 silver badges249 bronze badges

answered Apr 12, 2013 at 12:29

Zero Infinity's user avatar

199 on Windows XP NTFS, I just checked.

This is not theory but from just trying on my laptop. There may be mitigating effects, but it physically won’t let me make it bigger.

Is there some other setting limiting this, I wonder? Try it for yourself.

Peter Mortensen's user avatar

answered Nov 5, 2008 at 16:48

dove's user avatar

dovedove

20.3k14 gold badges87 silver badges107 bronze badges

12

The length in NTFS is 255. The NameLength field in the NTFS $Filename attribute is a byte with no offset; this yields a range of 0-255.

The file name iself can be in different «namespaces». So far there are: POSIX, WIN32, DOS and (WIN32DOS — when a filename can be natively a DOS name). (Since the string has a length, it could contain but that would yield to problems and is not in the namespaces above.)

Thus the name of a file or directory can be up to 255 characters. When specifying the full path under Windows, you need to prefix the path with \? (or use \?UNCservershare for UNC paths) to mark this path as an extended-length one (~32k characters). If your path is longer, you will have to set your working directory along the way (ugh — side effects due to the process-wide setting).

Jesper's user avatar

Jesper

1,58111 silver badges10 bronze badges

answered Aug 24, 2010 at 13:51

Dominik Weber's user avatar

1

According to MSDN, it’s 260 characters. It includes "<NUL>" -the invisible terminating null character, so the actual length is 259.

But read the article, it’s a bit more complicated.

Michael Freidgeim's user avatar

answered Nov 5, 2008 at 16:42

Kibbee's user avatar

KibbeeKibbee

64.9k27 gold badges141 silver badges181 bronze badges

1

answered Nov 5, 2008 at 16:40

warren's user avatar

warrenwarren

31.8k21 gold badges86 silver badges121 bronze badges

I’m adding this to the above approved answer.

TO BE CLEAR, the reason people believe it to be 255-260 characters is because that is all that Windows Explorer supports. It will error out doing something like a file copy on filenames longer than that. However, a program can read and write much longer filenames (which is how you get to lengths that Explorer complains about in the first place). Microsoft’s «recommended fix» in situations like this is to open the file in the original program that wrote it and rename it.

answered Oct 9, 2012 at 14:16

std''OrgnlDave's user avatar

std»OrgnlDavestd»OrgnlDave

3,8721 gold badge24 silver badges34 bronze badges

2

This part of the official documentation says clearly that it’s 255 Unicode characters for NTFS, exFAT and FAT32, and 127 Unicode or 254 ASCII characters for UDF.

Apart from that, the maximum path name length is always 32,760 Unicode characters, with each path component no more than 255 characters.

answered Aug 9, 2018 at 20:31

caw's user avatar

cawcaw

30.7k60 gold badges180 silver badges290 bronze badges

1

According to the new Windows SDK documentation (8.0) it seems that a new path limit is provided. There is a new set of path handling functions and an definition of PATHCCH_MAX_CCH like follows:

// max # of characters we support using the "\?" syntax
// (0x7FFF + 1 for NULL terminator)
#define PATHCCH_MAX_CCH             0x8000

answered Sep 11, 2013 at 17:19

1

255 chars, though the complete path should not be longer than that as well. There is a nice table over at Wikipedia about this: http://en.wikipedia.org/wiki/Filename.

answered Nov 5, 2008 at 16:44

Svante Svenson's user avatar

Svante SvensonSvante Svenson

12.3k4 gold badges41 silver badges45 bronze badges

In Windows 11 (In NTFS drive) is 236 with extension

For testing rename a file with below name and try to add one character more:

1234567890123456789010123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt

answered Oct 21, 2022 at 4:59

Mehdi's user avatar

MehdiMehdi

7432 gold badges8 silver badges20 bronze badges

238!
I checked it under Win7 32 bit with the following bat script:

set "fname="
for /l %%i in (1, 1, 27) do @call :setname
@echo %fname%
for /l %%i in (1, 1, 100) do @call :check
goto :EOF
:setname
set "fname=%fname%_123456789"
goto :EOF
:check
set "fname=%fname:~0,-1%"
@echo xx>%fname%
if not exist %fname% goto :eof
dir /b
pause
goto :EOF

answered May 28, 2015 at 14:08

SzB's user avatar

SzBSzB

9679 silver badges12 bronze badges

2

Actually it is 256, see File System Functionality Comparison, Limits.

To repeat a post on http://fixunix.com/microsoft-windows/30758-windows-xp-file-name-length-limit.html

«Assuming we’re talking about NTFS and not FAT32, the «255 characters
for path+file» is a limitation of Explorer, not the filesystem itself.
NTFS supports paths up to 32,000 Unicode characters long, with each
component up to 255 characters.

Explorer -and the Windows API- limits you to 260 characters for the
path, which include drive letter, colon, separating slashes and a
terminating null character. It’s possible to read a longer path in
Windows if you start it with a \«

If you read the above posts you’ll see there is a 5th thing you can be certain of:
Finding at least one obstinate computer user!

user692942's user avatar

user692942

16.1k7 gold badges76 silver badges172 bronze badges

answered Nov 20, 2009 at 17:01

fane's user avatar

2

I cannot create a file with the name+period+extnesion in WS 2012 Explorer longer than 224 characters. Don’t shoot the messenger!

In the CMD of the same server I cannot create a longer than 235 character name:

The system cannot find the path specified.

The file with a 224 character name created in the Explorer cannot be opened in Notepad++ — it just comes up with a new file instead.

answered Feb 23, 2018 at 21:12

ajeh's user avatar

ajehajeh

2,6002 gold badges31 silver badges61 bronze badges

1

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

Понятия «путь» и «имя файла»

Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:папкаподпапка
файл.расширение

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

Большинство часто употребляемых символов разрешается использовать в имени файла. Имя файла не должно содержать „<” (знак меньше),  „>” (знак больше), „:” (двоеточие), „«” (двойные кавычки), „/” (слеш), „” (обратный слеш), „|” (вертикальная черта), „?” (вопросительный знак), „*” (звездочка), а также не может заканчиваться точкой или пробелом. Файлы также нельзя называть зарезервированными именами устройств: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT9.

Ограничения на длины имен файлов и путей

Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.

На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.

Давно известен тот факт, что Проводник Windows и большинство Windows-приложений не могут работать с файлами и папками, длина пути к которым превышает 260 символов. И это — лишь программное ограничение на уровне Win32 API, известное также как MAX_PATH, тогда как файловая система NTFS сама по себе допускает до 32767 символов в адресе объекта файловой системы, чем успешно пользовались сторонние приложения, работавшие в обход стандартного API, например, FAR и Total Commander.

Также данное ограничение не касалось работы с файлами при сетевом доступе, что приводило к казусным ситуациям: рядовой пользователь в расшаренной папке может создавать и изменять файлы и папки, администратор через Windows Explorer — получает отказ доступа. Причём данное ограничение имело место не только в Windows 7/8/8.1 и более ранних ОС, но и в новейшей Windows 10.

Для обхода ограничения применялся, в зависимости от ситуации и уровня подготовки сидящего за ПК пользователя, целый ряд различных приёмов: символические ссылки, ручное сокращение количества символов, создание виртуальных дисков и прочее.

И вот, как сообщает ряд тестеров регулярно выпускаемых закрытых сборок Windows 10, компания Microsoft, наконец, снизошла до исправления этого недостатка и выпуска исправления. Точнее — реализации настройки, которую должен будет включить сам пользователь. В шаблонах групповых политик появился соответствующий параметр «Включение длинных адресов NTFS» (Конфигурация компьютера -> Административные шаблоны -> Система -> Файловая система -> NTFS).

рекомендации

3070 Gigabyte Gaming за 50 тр с началом

Выбираем игровой ноут: на что смотреть, на чем сэкономить

3070 Gainward Phantom дешевле 50 тр

13700K дешевле 40 тр в Регарде

Ищем PHP-программиста для апгрейда конфы

3070 дешевле 50 тр в Ситилинке

MSI 3050 за 25 тр в Ситилинке

3060 Gigabyte Gaming за 30 тр с началом

13600K дешевле 30 тр в Регарде

4080 почти за 100тр — дешевле чем по курсу 60

12900K за 40тр с началом в Ситилинке

RTX 4090 за 140 тр в Регарде

Компьютеры от 10 тр в Ситилинке

3060 Ti Gigabyte за 42 тр в Регарде

Единственное, что огорчает — Редактор групповых политик (gpedit.msc) отсутствует в редакциях Windows 10, отличных от «Профессиональная» и «Корпоративная» (хотя существуют неофициальные и не совсем легальные способы обойти это ограничение). Впрочем, необходимые ключи в реестре наверняка будут найдены. Как подсказывает один из читателей, это параметр LongPathsEnabled (тип DWORD), расположенный в реестре по адресу HKEY_LOCAL_MACHINESystemCurrentControlSetPolicies.

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

Как исправить ошибки слишком длинное имя файла или слишком длинный целевой путьПри копировании, создании, сохранении или перемещении файлов и папок в 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_MACHINESYSTEMCurrentControlSetControlFileSystem
  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.

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

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

Имена файлов в разных системах

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

C:WindowsSystem32calc.exe

в UNIX-системах
полный путь состоит из слеша (/),
обозначающего корневой каталог, после
которого через слеши перечисляются
подкаталоги, в конце пишется имя файла.
Пример:

/usr/local/bin/gcc

Имя файла
состоит из двух частей, разделенных
точкой:

  • Название (до точки, часто также называют
    именем);

  • Расширение
    (необязательная часть).

Полное имя
файла (включая расширение) в Windows может
содержать до 260 символов, данное значение
определено константой MAX_PATH в Windows API;
например максимально допустимое полное
имя файла на диске C будет таким «C:<256
символов>NULL». Однако юникодные версии
некоторых функций позволяют использовать
имена файлов, содержащие до 32000 символов,
такие имена начинаются с префикса
«\?». Пример:

\?C:WindowsSystem32calc.exe

При
использовании префикса «\?» необходимо
указывать абсолютный путь к файлу,
относительные пути не допускаются. При
использовании относительных путей
максимальное полное имя файла ограничено
константой MAX_PATH (260 символов).

В Windows в
имени файла запрещено использование
некоторых служебных символов: «», «/»,
«:», «*», «?», «»», «<», «>», «|». В Linux
эти символы, кроме «/», допустимы, хотя
использовать их следует с осторожностью,
так как некоторые из них могут иметь
специальный смысл, а также из соображений
совместимости с другими ОС.

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

. Расширение
имени

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

Расширение
обычно отделяется от основной части
имени файла точкой. В операционных
системах CP/M и MS-DOS длина расширения была
ограничена тремя символами, в современных
операционных системах это ограничение
отсутствует. Иногда могут использоваться
несколько расширений, следующих друг
за другом, например, «.tar.gz».

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Какая версия skype работает на windows 7
  • Какая папка в windows занимает высшую ступень
  • Какая мазила лучше для windows 10
  • Какая версия python работает на windows 7
  • Какая ос лучше для ноутбука windows или linux