Файловая система не поддерживает такие длинные имена исходных файлов windows 7

Слишком длинный путь к источнику

Обновлено:
Опубликовано:

Описание

При попытке удалить или переместить файл, появляется ошибка:

Слишком длинный путь к источнику.
Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.

Причина

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

Решение

Способ 1. Уменьшаем путь до файла

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

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

2. Создаем символьную ссылку на конечный путь. Это можно сделать командой:

mklink /d c:\<короткий путь> c:\<длинный путь>

… например:

mklink /d «C:\Папка0» «C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5»

* в данном примере перейдя по пути C:\Папка0, мы окажемся в папке C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5.

3. Сопоставляем папку букве диска с помощью команды subst:

subst S: «C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5»

* в данном примере мы создадим диск S, который будет вести нас в папку C:\Папка\Папка 2\Папка 3\ Папка 4\Папка 5.

Способ 2. Включаем поддержку длинных файлов

Данный способ поддерживается, начиная с Windows 10 / Server 2016.

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

Открываем реестр (команда regedit) и переходим по пути HKLM\SYSTEM\CurrentControlSet\Control\FileSystem. Находим или создаем ключ LongPathsEnabled с типом REG_DWORD и задаем ему значение 1.

Это же действие из командной строки:

reg delete «HKLM\SYSTEM\CurrentControlSet\Control\FileSystem» /v LongPathsEnabled /f

reg add «HKLM\SYSTEM\CurrentControlSet\Control\FileSystem» /v LongPathsEnabled /t REG_DWORD /d 1

* первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.

Способ 3. Far Manager

Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.

Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).

Способ 4. Укорачиваем сетевой путь

Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.

Например, это можно сделать командой:

net use J: \\server\share /persistent:yes

* данной командой мы создадим диск J, который будет вести на сетевую папку \\server\share.

Способ 5. Используем командную строку

Если нам нужно скопировать или перенести небольшое количество файлов, мы можем воспользоваться командной строкой. Для копирования используем xcopy, для переноса — move.

Примеры использования:

xcopy <длинный путь до файла> <короткий путь>

move <длинный путь до файла> <короткий путь>

В чем была проблема?

Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:

* в процентах показаны результаты ответов других посетителей.

Не удаляется файл — файловая система не поддерживает такие длинные имена

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

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

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

Для этого нам понадобится архиватор WinRaR либо 7-ZIP, а именно функция удаления файлов после архивирования. А если быть точнее, удаление КАТАЛОГА, после его архивирования, т.к. предлагаемый функционал правой кнопки по файлу нас ни к чему не привёл. Данная операция проста в исполнении, поэтому ниже выкладываю 2 скрину из данных программ, я думаю вы сами разберётесь:

  • Второй способ удалить файл — установив Total Commander. Да, придётся установить доп. софт. Выбираем в окошке сам файл, жмём в левом/верхнем углу пункт меню «ФАЙЛ», далее «ИЗМЕНИТЬ АТРИБУТЫ». Расставляем все галочки, как у меня на скрине. Пробуем удалить. Данный способ мне не помог, возможно поможет вам.
  • Следующий способ — более долгий и сложный.

Открываем командную строку либо сочетание Win+R, вводим команду cmd — ENTER (Либо открываем Командную строку любым удобным способом). Пишем команду для создания виртуального диска:

subst буква-диска «путь к файлу или папке – будет буквой диска»

Выбираем «НЕ ЗАНЯТУЮ» букву диска. Путь к папке указывается от диска.

Если данная операция непонятна — откройте папку, которая будет виртуальным диском в проводнике и копирум путь до данной папки. Ниже пример, как может выглядеть путь:

subst Z: «C:\Users\User\Desktop\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\x\x\1»

Идём в «Мой компьютер», где увидим созданный диск с заданной буквой в названии. Исходя из данной манипуляции теперь мы имеем сокращённый путь к файлу (менее 260 символов). Пробуем удалить файл.

P.S. Выше я привёл способы, которые я смог найти. Первый — сработал, второй — не сработал, третьим я не стал заморачиваться сразу и искал более лёгкий способ. Надеюсь данная статья вам помогла.

Полный текст в статье:

Многие сталкиваются с проблемой невозможности удаления файлов и папок со слишком длинным путём до них в файловой системе на базе Windows. Если путь слишком длинный( больше 256 символов ), при попытке удаления файла или папки, Windows выдаёт ошибку «Файловая система не поддерживает такие длинные имена исходных файлов», это не исправлено даже в 10-й версии операционной системы. Если поискать ответ в Интернете, наиболее распространённым окажется ручное переименование папок на более короткие, но я нашёл более эффективное решение, которое, правда, требует установки Node.js на ваш компьютер.

Столкнулся я с данной проблемой, когда попробовал удалить папку node_modules из очередного проекта и получил эту ошибку. Вложенность папки оказалось такой, что переименовывание каталогов заняло около получаса. Я, как и большинство программистов, довольно ленив, и повторения не хотелось. Начал искать решение и нашёл, оно подойдёт не только тем, кто знаком с Node.js и NPM, но и вполне по силам опытному пользователю Windows. Итак, начнём.

  1. Устанавливаем Node.js
  2. Устанавливаем глобально npm пакет rimraf ( открываем cmd.exe, git bash или другую оболочку для терминала Windows и вводим npm install rimraf -g и ждём установки модуля. )
  3. В том же терминале вводим rimraf «Путь\до\папки\которую\надо\ удалить»
  4. ?????
  5. PROFIT

Работает, проверено мной не раз, пример команды в терминале: rimraf «E:\project\node_modules»
Источник

If you’ve ever seen this issue, it was probably a simple fix for you. If you’ve seen this error more than twice, then you also know that it can be a complex issue to fix sometimes.

Let’s hope you only run into the easy fix variety, but we’ll prepare you for the less easy, guaranteed to work fixes too.

Why Is Filename Length Even An Issue In Windows?

There’s a long history of filename lengths being a problem for operating systems like Windows. There was a time when you couldn’t have filenames longer than 8 characters plus a 3-character file extension. The best you could do was something like myresume.doc. This was a restriction in place by the design of the file system.

Things got better as new versions of Windows came out. We went from an old, limited, file system to something called the New Technology File System (NTFS). NTFS took us to a point where a filename could be 255 characters long, and the file path length could potentially go up to 32,767 characters. So how can we possibly have filenames that are too long?

Windows has things known as system variables. These are variables that Windows relies upon to function, because Windows will always know what the variables mean and where they are, even when we’re moving bits and bytes all over the place. The system variable MAX_PATH is the one that restricts filenames and file paths to under 260 characters.

Being a variable, you’d think we could change it. No, we should not. It would be like pulling a thread out of a sweater. As soon as one system variable changes, other system variables and components dependent on them start to unravel.

How do we fix it, then?

The Easy Fix

If you’re fortunate, you’ll get the error and know exactly what file’s name is causing the issue. Or at least where to find the file. Maybe you have a filename that looks something like:

C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

It’s obvious who the offender is in this case. Find the file in Windows Explorer, or File Explorer as it’s called in Windows 10, click once on it, hit F2 to rename it, and change that silly filename to something more reasonable. Problem solved.

The Less Easy Fixes

It isn’t always that easy to fix this problem. Sometimes you may not be able to change the names of files or directories for whatever reason.

The following solutions will do the trick for you. They aren’t hard to do.

Move, Delete, Or Copy Files Or Directories Using PowerShell

Sometimes you get an error when trying to move, delete, or copy directories where the character count for the file path is more than 260.

Note that the words directory and folder are interchangeable. We’ll use ‘directory’ going forward. The following PowerShell cmdlets can also be used on files.

Perhaps the file path looks something like:

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

That file path is 280 characters long. So we cannot copy the directory out of there to somewhere else with the normal copy-paste method.  We get the Destination Path Too Long error.

Let’s assume that for whatever reason, we can’t rename the directories in which the file is nested. What do we do?

Open PowerShell. If you haven’t used PowerShell yet, enjoy our article Using PowerShell for Home Users – A Beginner’s Guide. You can do the next steps without reading the article, though.

When PowerShell opens, you’ll be at the root of your user directory. Follow along assuming C:\Users\guymc is your user directory.

The directory named This is inside the Documents directory. To move into the Documents directory, we use the DOS command cd Documents

You’ll see the prompt change to C:\Users\guymc\Documents. That’s good. We’re working closer to the directories which will make things easier.

Copy Directory Using Copy-Item

We want to copy the directory This and its contents into ThatNewFolder. Let’s use the PowerShell cmdlet Copy-Item with the parameters -Destination and -Recurse.

-Destination tells PowerShell where we want the copy to be. -Recurse tells PowerShell to copy all the items inside to the destination. Copying leaves the originals where they are and makes all new ones in the destination.

Copy-Item This -Destination ThatNewFolder -Recurse

Move Directory Using Move-Item

Let’s say we want to move the directory This, and all the directories and files in it, to ThatNewFolder. Moving does not leave the original in place.

We can use the PowerShell cmdlet Move-Item with the parameters -Path and -Destination. -Path defines the item we want to move and -Destination tells PowerShell where we want it. 

The cmdlet will put This inside of ThatNewFolder. It will also move everything that is inside of the This directory. Move-Item can be used to move files or directories, and it works regardless of file path or filename length.

Move-Item -Path This -Destination ThatNewFolder

To make sure it worked, use the cd ThatNewFolder command to get into ThatNewFolder. Then use the dir command to list the directories in ThatNewFolder. You’ll see the This directory is in there.

Delete Directory Using Remove-Item

If we want to delete the This directory, and everything in it, we use the Remove-Item cmdlet.

The Remove-Item cmdlet has some built-in safety that makes it difficult to delete a directory with things inside of it. In our example, we know we want to delete everything, so we’ll use the parameters -Recurse to make it delete everything inside and -Force to make it do that without asking us if we’re sure for every item inside.

Be warned! Recovering anything deleted this way would be extremely difficult. You can try the methods in How to Recover Accidentally Deleted Files, but don’t expect much.

Remove-Item This -Recurse -Force

You can use the dir command again to make sure it is gone.

Make Windows 10 Accept Long File Paths

If you know you’re going to be using long file paths and long file names repeatedly, it’s easier to make Windows work for you. No sense using PowerShell to do the work every day.

There are two ways we can do this. One is for Windows 10 Home users and the other is for Windows 10 Pro or Enterprise users. These methods may work for Windows 8.1 or earlier, but we cannot guarantee that.

Make Windows 10 Home Accept Long File Paths

To make Windows 10 Home accept long file paths, we need to open the Registry Editor. If you haven’t worked in Registry Editor before, be cautious. Accidentally deleting or changing things in here can stop Windows from working completely.

Always make a backup of your registry before making any changes. Learn everything you need to know about that in our Ultimate Guide to Backing Up and Restoring the Windows Registry.

Once you have Registry Editor opened, and your backup made, navigate to the location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem and find the key LongPathsEnabled.

Double-click on LongPathsEnabled. In the Value data: field, make sure the number 1 is in there. Click OK to commit the change.

Exit Registry Editor and you should be able to work with crazy long file paths now.

Make Windows 10 Pro Or Enterprise Accept Long File Paths

To allow Windows 10 Pro or Enterprise to use long file paths, we’re going to use the Group Policy Editor. It’s a tool that allows us to set policies on how Windows operates at the computer and the user levels.

We’ve got several articles on using group policy to do things like disabling or enabling Internet Explorer options, or adding a message to the logon screen.

Open the Group Policy Editor by going to the Start menu and typing in gpedit. The top result should be Edit group policy. Double-click on that.

Once the Group Policy Editor opens, navigate to Computer Configuration > Administrative Templates > System > Filesystem. There you’ll see the policy Enable Win32 long paths.

Double-click on it to edit the policy setting. Change it from Disabled to Enabled, then click the OK button to commit the change. 

The policy may not take effect right away. You can force the group policy to update, though.

That’s It

There are some other ways to work around long filenames and file paths, but what we’ve gone through here are the simplest, most effective methods.

Related Posts

  • How to Fix a “This file does not have an app associated with it” Error on Windows
  • How to Fix an Update Error 0x800705b4 on Windows
  • How to Resolve “A JavaScript error occured in the main process” Error on Windows
  • How to Fix the Network Discovery Is Turned Off Error on Windows
  • How to Change Folder Icons in Windows

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

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

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

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

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

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

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

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

  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.

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

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как запустить командную строку из папки windows 10
  • Изменить редакцию windows 10 в реестре
  • Как отключить оверлей xbox на windows 10
  • Windows 10 mobile build 10
  • Как проверить дистрибутив windows 10