Обновлено 28.11.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.
Описание проблемы длинных путей
Раньше имена файлов в Windows ограничивались форматом 8.3 — всего восемь символов для имени файла и три для расширения. С появлением Windows 95 Microsoft сняла этот предел и позволила использовать гораздо более длинные имена.
Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?.
Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:
\?C:директорияподдиректорияимя файла
Хочу отметить, что на период ноября 2020 года и последней версий Windows 10 1909, в ПРОВОДНИКЕ Windows до сих пор есть ограничения в 260 символов, и мы все слышим обещания, что их исправят
Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:
Слишком длинный целевой путь: Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем
Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».
Вот ошибка при извлечении архива в сетевую папку:
Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку
Методы снимающие ограничения на длину пути в Windows
- Через групповую или локальную политику Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
- Через реестр Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
- Через сторонние утилиты 7-Zip, Far, TotalCommander (Применимо ко всем версиям Windows)
- Использование силинков (символических ссылок) (Применимо ко всем версиям Windows)
- Через сетевой диск, для укорачивания пути
- Утилиты xcopy, robocopy
Нюансы длинных путей в приложениях
Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.
Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:
<application xmlns=»urn:schemas-microsoft-com:asm.v3″>
<windowsSettings>
<longPathAware xmlns=»http://schemas.microsoft.com/SMI/2016/WindowsSettings»>true</longPathAware>
</windowsSettings>
</application>
Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику
Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \?, то групповые политики вам это помогут.
Еще раз напоминаю, что данный метод подойдет и для серверных версий, даже самых современных Windows Server 2019
Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.
Хочу отметить, что для Windows 10 Home данный метод работать не будет, там просто нет редактора локальных политик, там придется лезть в реестр Windows
Далее идем по пути:
Конфигурация компьютера — Административные шаблоны — Система — Файловая система (Computer configuration — Administrative templates — System — Filesystem)
Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.
То же самое вы можете сделать централизовано для массового управления через групповые политики, все ветки те же самые.
Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.
Включение поддержки длинных путей через реестр
Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:
HKLMSystemCurrentControlSetControlFileSystem
тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.
Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.
Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:
HKEY_CURRENT_USERSOFTWAREMicrosoftWindows CurrentVersionGroup Policy Objects {48981759-12F2-42A6-A048-028B3973495F} MachineSystemCurrentControlSetPolicies
Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.
Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlFileSystem -Name LongPathsEnabled -Value 1
Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
Запустите командную строку в режиме администратора и введите:
reg add «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /t REG_DWORD /d 1
Потребуется перезагрузка.
Обход ограничений длинных путей через 7zFM
Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.
Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.
Для создания новой папки нажмите клавишу F7.
Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.
В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.
Проверяем, что директория доступна через проводник Windows.
Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.
Как обойти ограничение длинных путей через символьную ссылку
Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:
- Путь где будет лежать файл символической ссылки — в моем примере C:короткий путь
- Длинный путь — C:ShareWINDOW~1C73D~1C6BF~1 D915~15C04~1B4E5~1260MIC~1
Нам поможет команда mklink, где ключ /D создает ссылку на каталог
mklink /D «C:короткий путь» «C:ShareWINDOW~1 C73D~1C6BF~1D915~15C04~1B4E5~1260MIC~1»
Символическая ссылка успешно создана, можно проверять.
Откройте каталог с укороченным путем и попробуйте создать просто папку, в итоге она будет создана именно по тому длинному пути, как видите легко можно обходить ограничение в 260 символов.
Как обойти ограничение длинных путей через сопоставление subst
subst — простая команда позволяющая связать нужный путь к каталогу с буквой диска. Так же откройте командную строку в режиме администратора и сопоставьте ваш длинный путь с буквой W.
subst W: «C:ShareWINDOW~1C73D~1C6BF~1 D915~15C04~1B4E5~1260MIC~1»
У вас в проводнике Windows должен появиться диск с данной буквой, если его нет, то прочитайте статью «Не появляется диск после команды subst» или просто в проводнике вбейте W: и нажмите Enter.
Как обойти ограничение длинных путей через монтирование сетевого диска
В командной строке используйте команду net use, далее буква диска, которую мы присваиваем и в самом конце путь:
net use Z: «\DESKTOP-OJ0SCOEShareWINDOW~1 C73D~1C6BF~1D915~15C04~1B4E5~1260MIC~1» /persistent:yes
Как видим все прекрасно отработало и диск появился.
Использование утилит Far или Total Commander
После включения параметра «Включить длинные пути Win32» данные утилиты в 100% случаев помог вам произвести любые действия с папками или файлами на любом длинном пути в системе Windows. Откройте Total Commander и создайте для примера папку в каталоге с длинным путем, напоминаю для этого нужно нажать F7.
Как видите все прекрасно создается, удаляется или копируется при желании.
Как еще обойти проблему с длинными путями Windows
В мир виртуализации и облаков, многие компании переносят свои файловые ресурсы именно туда. Например в моей компании используют для хранения большинства данных это Google Drive, кто-то диски mail.ru или Яндекса, не нужно этого бояться, главное смотрите, чтобы это подходило с юридической точки зрения но и не нужно лукавить это может стоить дополнительных расходов, но зато ни каких длинных путей, вышедших из строя дисков в RAID, место наращивается на лету, короче одни плюсы.
На этом у меня все, мы разобрали как исправляются ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Слишком длинное имя файла или слишком длинный целевой путь — как исправить?
При копировании, создании, сохранении или перемещении файлов и папок в Windows 11 и Windows 10 на внутреннем HDD или SSD, при копировании данных на внешний диск или флешку, вы можете столкнуться с ошибками вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку», «Указано неправильное или слишком длинное имя файла» и другие, имеющие отношение к слишком длинным именам или путям к файлам и папкам.
В этой инструкции подробно о том, чем вызваны эти ошибки и как можно их исправить в Windows последних версий, а также дополнительная информация, которая может быть полезной, чтобы решить проблему.
- Слишком длинное имя файла или слишком длинный целевой путь
- Причины ошибки и способы её исправить
- Как включить поддержку длинных путей в Windows
- В редакторе реестра
- В редакторе локальной групповой политики
- Почему ошибка сохраняется при включенной поддержке длинных путей
Причины ошибки «Слишком длинное имя файла» и «Слишком длинный целевой путь» и способы её исправить
Несмотря на то, что файловой системой NTFS длина пути ограничена 32760 символов, в Windows существует ограничение на полный путь в 260 символов, включая путь к папке и имя файла с расширением. Ещё одно ограничение — 255 символов на имя файла или отдельной папки. Схожие ограничения есть для файловых систем FAT32 и ExFAT. Когда полный путь к файлу, с которым вы выполняете действия, превышает указанное число символов, вы можете получить сообщение об ошибках о слишком длинном целевом пути или слишком длинном имени файла.
Отсюда основные способы исправить ошибки, связанные с использованием слишком длинного пути:
- Использовать более короткие имена файлов и более простое и «компактное» дерево папок.
- Включить поддержку длинных путей — такая опция есть в Windows 10 и Windows 11, далее будет рассмотрен порядок действий. Однако, это решит не все проблемы, о чем мы также поговорим.
- Использовать файловые менеджеры, которые могут работать с длинными путями по умолчанию: Total Commander, Files (но для него потребуется включить и поддержку длинных путей в системе) или даже 7-Zip File Manager, который прекрасно с этим справляется.
Как включить поддержку длинных путей в Windows 10 и Windows 11
В зависимости от установленной редакции Windows, можно использовать один из следующих способов включения поддержки длинных путей.
В редакторе реестра
Если на вашем компьютере установлена Windows 11 или Windows 10 Домашняя, используйте редактор реестра для включения опции:
- Нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить» или нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
- В редакторе реестра перейдите к разделу
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
- В правой панели редактора реестра дважды нажмите по параметру с именем LongPathsEnabled и присвойте значение 1 вместо 0 для этого параметра.
- Закройте редактор реестра, перезагрузите компьютер.
В редакторе локальной групповой политики
В Windows Pro и Enterprise можно использовать редактор локальной групповой политики:
- Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc в диалоговом окне «Выполнить» и нажмите Enter.
- Перейдите к разделу Конфигурация компьютера — Административные шаблоны — Система — Файловая система.
- Дважды нажмите по параметру «Включить длинные пути Win32».
- Установите значение «Включено» для этого параметра, примените настройки.
- Закройте редактор локальной групповой политики и перезагрузите компьютер.
Готово, теперь поддержка длинных путей в Windows включена, однако это не означает, что ошибки, с ними связанные, исчезнут.
Почему ошибки длинных путей появляются, несмотря на включенную поддержку длинных путей
Даже если вы включите поддержку длинных путей к папкам и файлам в Windows 11/10, при действиях с такими файлами в проводнике и некоторых программах вы продолжите получать ошибки вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку» или «Указано неправильное или слишком длинное имя файла», также будут недоступны некоторые действия в папках, имеющих длинный путь.
Причина этого — поддержка длинных путей требуется не только на уровне системы, но и в самой программе, которая работает с этими путями, в качестве примера:
- Проводник не сможет полноценно работать с длинными путями даже при включенной поддержке.
- Файловый менеджер Files из магазина приложений будет исправно работать, если включить поддержку длинных путей, и будет сообщать об ошибках при отключенной поддержке.
- Total Commander или встроенный файловый менеджер 7-Zip работают с длинными путями независимо от того, включена ли их поддержка в Windows.
То же самое касается не только файловых менеджеров, но и прикладных программ: текстовых, графических и видео редакторов и другого ПО.
Надеюсь, инструкция прояснила причины ошибки и возможные способы решения проблемы. Если же вопросы остаются — жду их в комментариях.
Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows Server 2012 R2 Standard Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows 8 Enterprise Windows 8 Pro Windows 8 Windows 7 Service Pack 1 Windows Server 2008 R2 Service Pack 1 Еще…Меньше
Симптомы
Рассмотрим следующий сценарий:
-
У вас есть компьютер под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012 Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 Пакет обновления 1 (SP1).
-
Попробуйте скопировать файлы или папки, чтобы вставить их в другую папку с помощью проводника Windows.
-
Файлы или папки, которые вы поместите имеют пути, длина которых превышает максимальную допустимую длину пути.
В этом случае проведение операции копирования является ненадежным и происходит сбой из-за длины пути файла или папки. Кроме того возможно возникновение следующих проблем:
-
Операция копирования не выполняется и генерирует сообщение о том, что указан слишком длинный путь (имя файла). Сообщение также предлагает Сократите имя файла и повторите попытку копирования.
-
Операция копирования не запускается. В этом случае сообщение не формируется.
-
Операция копирования начинается, копирует несколько файлов или папок и затем завершается неудачей без выдачи сообщения.
Эта проблема может препятствовать копированию некоторых файлов или папок. Отсутствие сообщений об ошибке не свидетельствует об отсутствии ошибки в системе. Различные проблемы могут возникнуть в зависимости от того, как файлы выбраны для копирования.
Примечание. Эта проблема также может возникнуть при попытке копирования файлов и папок из моментальных снимков службы теневого копирования тома, если длина файла или папки в моментальном снимке, превышает максимальную длину пути.
Причина
Эта проблема возникает из-за особенности в способе обработки Windows ошибок длинных путей.
Решение
Для решения этой проблемы для Windows 8.1, Windows Server 2012 R2, Windows 8, andWindows Server 2012 установите накопительный пакет обновления.
Для решения этой проблемы для Windows 7 и Windows Server 2008 R2, установите исправление, описанное в данной статье.
Сведения об обновлении для Windows 8.1, Windows Server 2012 R2, Windows Server 2012 и Windows 8
Для решения этой проблемы установите накопительный пакет обновления, выпущенного апрель 2012 г. и 2014 ноября.
-
Windows RT 8.1, Windows 8.1 и обновления Windows Server 2012 R2: апреля 2014 г
-
Получить ноябрь 2014 накопительный пакет обновления для Windows Server 2012, Windows 8 и Windows RT
Сведения об исправлении для Windows 7 и Windows Server 2008 R2
Доступно исправление от службы поддержки Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.
Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы просмотреть полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Предварительные условия
Для установки этого исправления необходимо иметь Пакет обновления 1 для Windows 7 или Windows Server 2008 R2 установлен.
Необходимость перезагрузки
После установки исправления компьютер необходимо перезагрузить.
Сведения о замене исправлений
Это исправление не заменяет все ранее выпущенные исправления.
Английский (США) версия данного исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.
Информация о файлах для Windows 7 и Windows Server 2008 R2 и примечанияВажно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.
-
Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.
Версия
Продукт
SR_Level
Направление поддержки
6.1.760
1.
22 xxxWindows 7 и Windows Server 2008 R2
SP1
LDR
-
Выпуски обновлений GDR содержат только те исправления, которые выпускаются повсеместно и предназначены для устранения распространенных крайне важных проблем. В обновления LDR входят также специализированные исправления.
-
Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, указаны отдельно в разделе «Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». Файлы MUM и MANIFEST, а также связанные файлы каталога безопасности (CAT) чрезвычайно важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.
Для всех поддерживаемых 86-разрядных версий Windows 7
Имя файла |
Версия файла |
Размер файла |
Дата |
Время |
Платформа |
---|---|---|---|---|---|
Shell32.dll |
6.1.7601.22503 |
12,875,776 |
06-Nov-2013 |
08:00 |
x86 |
Для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2
Имя файла |
Версия файла |
Размер файла |
Дата |
Время |
Платформа |
---|---|---|---|---|---|
Shell32.dll |
6.1.7601.22503 |
14,177,792 |
06-Nov-2013 |
08:51 |
x64 |
Shell32.dll |
6.1.7601.22503 |
12,875,776 |
06-Nov-2013 |
08:00 |
x86 |
Для всех поддерживаемых версий Windows Server 2008 R2 для систем на базе процессоров IA-64
Имя файла |
Версия файла |
Размер файла |
Дата |
Время |
Платформа |
---|---|---|---|---|---|
Shell32.dll |
6.1.7601.22503 |
21,196,800 |
06-Nov-2013 |
07:58 |
IA-64 |
Shell32.dll |
6.1.7601.22503 |
12,875,776 |
06-Nov-2013 |
08:00 |
x86 |
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».
Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2
Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7
Имя файла |
X86_5d28b9c19d39486a1a7e115506261602_31bf3856ad364e35_6.1.7601.22503_none_8fa29bae8b68a3a7.manifest |
Версия файла |
Неприменимо |
Размер файла |
695 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
14:55 |
Платформа |
Неприменимо |
Имя файла |
X86_microsoft-windows-shell32_31bf3856ad364e35_6.1.7601.22503_none_6ec3e88889548dc6.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,059,457 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
10:12 |
Платформа |
Неприменимо |
Дополнительные файлы для всех поддерживаемых версий x64 под управлением Windows 7 и Windows Server 2008 R2
Имя файла |
Amd64_228d6e6efa0f144b0e3153891fddec59_31bf3856ad364e35_6.1.7601.22503_none_3f69116101f5cf33.manifest |
Версия файла |
Неприменимо |
Размер файла |
699 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
14:56 |
Платформа |
Неприменимо |
Имя файла |
Amd64_ab8a5a310911f0a583d4c1b8a0642dba_31bf3856ad364e35_6.1.7601.22503_none_400593ee3163c592.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,040 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
14:56 |
Платформа |
Неприменимо |
Имя файла |
Amd64_microsoft-windows-shell32_31bf3856ad364e35_6.1.7601.22503_none_cae2840c41b1fefc.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,058,443 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
09:16 |
Платформа |
Неприменимо |
Имя файла |
Wow64_microsoft-windows-shell32_31bf3856ad364e35_6.1.7601.22503_none_d5372e5e7612c0f7.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,054,916 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
08:14 |
Платформа |
Неприменимо |
Дополнительные файлы для всех поддерживаемых версий Windows Server 2008 R2 с архитектурой IA-64
Имя файла |
Ia64_bba4409f672758cfdaf3e6e43606e4d6_31bf3856ad364e35_6.1.7601.22503_none_d273341408e6cde2.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,038 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
14:55 |
Платформа |
Неприменимо |
Имя файла |
Ia64_microsoft-windows-shell32_31bf3856ad364e35_6.1.7601.22503_none_6ec58c7e895296c2.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,058,441 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
08:22 |
Платформа |
Неприменимо |
Имя файла |
Wow64_microsoft-windows-shell32_31bf3856ad364e35_6.1.7601.22503_none_d5372e5e7612c0f7.manifest |
Версия файла |
Неприменимо |
Размер файла |
1,054,916 |
Дата (UTC) |
06-Nov-2013 |
Время (UTC) |
08:14 |
Платформа |
Неприменимо |
Ссылки
Узнайте о терминологии Корпорация Майкрософт использует для описания обновлений программного обеспечения.
Нужна дополнительная помощь?
Слишком длинный путь к источнику
Обновлено: 14.03.2021
Опубликовано: 13.07.2017
Описание
При попытке удалить или переместить файл, появляется ошибка:
Слишком длинный путь к источнику.
Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.
Причина
По умолчанию, операционная система 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) и переходим по пути HKLMSYSTEMCurrentControlSetControlFileSystem. Находим или создаем ключ LongPathsEnabled с типом REG_DWORD и задаем ему значение 1.
Это же действие из командной строки:
reg delete «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /f
reg add «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /t REG_DWORD /d 1
* первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.
Способ 3. Far Manager
Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.
Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).
Способ 4. Укорачиваем сетевой путь
Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.
Например, это можно сделать командой:
net use J: \servershare /persistent:yes
* данной командой мы создадим диск J, который будет вести на сетевую папку \servershare.
Способ 5. Используем командную строку
Если нам нужно скопировать или перенести небольшое количество файлов, мы можем воспользоваться командной строкой. Для копирования используем xcopy, для переноса — move.
Примеры использования:
xcopy <длинный путь до файла> <короткий путь>
move <длинный путь до файла> <короткий путь>
В чем была проблема?
Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:
* в процентах показаны результаты ответов других посетителей.
При попытке скопировать, переместить и удалить файлы или папки система может заблокировать это действие ошибкой «слишком длинный целевой путь». Она возникает по причине того, что Windows имеет ограничение на длину пути, число символов в котором не должно превышать 260 символов.
Проблема возникает на уровне вложенности приложений и не связана с ограничением NTFS. В этом случае количество символом ограничивается библиотекой Win32 API. Поэтому большинство стандартных приложений, включая проводник Windows, не будут обрабатывать объекты, длина пути к которым превышает 260 символов.
Содержание
- 1 Переименование расширений
- 2 Удаление с помощью утилиты DeleteLongPath
- 3 Включение поддержки для работы с глубоко вложенными объектами
- 4 Использование команды xcopy
Переименование расширений
Если ошибка возникает при перемещении архивных файлов Zip или Rar, попробуйте временно переименовать их в формат «txt» и после переноса вернуть обратно.
Для этого щелкните правой кнопкой мыши на архив и выберите «Переименовать». Затем измените расширение на «txt».
Примечание: Если по умолчанию в проводнике не отображаются типы расширений, на вкладке Вид отметьте флажком поле, связанное с расширением имен.
После перемещения файла, верните ему первоначальное расширение (zip или rar).
Если этим способом не удалось переместить архивы по причине слишком длинного целевого пути, перейдите к следующему решению.
Удаление с помощью утилиты DeleteLongPath
Если нужно удалить папку, которая вложена по слишком длинному пути, попробуйте сделать это с помощью бесплатной утилиты DeleteLongPath. Она предназначена для удаления структуры папок и всех содержащихся в ней вложенных объектов.
Сделайте запрос в интернете «DeleteLongPath» и перейдите на указанный сайт.
После загрузки извлеките файл из zip-архива и откройте.
Кликните на кнопку «Обзор», чтобы указать расположение папки, и нажмите на «Удалить». В следующем окне подтвердите действие, и дождитесь завершения удаления.
Включение поддержки для работы с глубоко вложенными объектами
В Windows 10 (сборка 1607 и выше) есть возможность отключить ограничение MAX_PATH на системном уровне. Выполните следующие шаги.
Откройте Редактор реестра командой regedit из окна «Выполнить» (Win + R).
Раскрывая вложенную структуру на левой панели, перейдите в следующий раздел:
HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control – FileSystem
В разделе FileSystem дважды кликните на параметре LongPathsEnabled, чтобы перейти в его установки.
В поле «Значение» установите «1» и примените изменения на «ОК».
Закройте Редактор реестра и попробуйте выполнить действия с папками, которые не удавались из-за ошибки слишком длинного целевого пути.
Использование команды xcopy
Если по-прежнему не удается скопировать папку, целевой путь к которой слишком длинный, попробуйте это сделать с помощью команды xcopy, запущенной из командной строки с правами администратора.
Запустите командную строку от имени администратора с помощью системного поиска.
В консоли запустите следующую команду:
xcopy *путь к источнику* *папка назначения* /O /X /E /H /K
Копирование должно произойти без ошибки.
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Параметры для Windows 10 Home
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit
. Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
C:UserguymcDocumentsMy Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
C:UsersguymcDocumentsThisIsExactlyThePreciseDirectoryPathThatINeedToHaveToKeepMyFilesSortedInAMannerThatMakesSenseToMeSoLetsPretendThisIsAnActualFilepathThatYouMightAlsoHaveOnYourWindowsComputerAndNotOverThinkItDocument.docx
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.
Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду cd Documents
.
Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Copy-Item This -Destination ThatNewFolder -Recurse
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Move-Item -Path This -Destination ThatNewFolder
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder
, чтобы войти в ThatNewFolder. Затем используйте команду dir
для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Remove-Item This -Recurse -Force
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Содержание
- 1 Почему длина имени файла является проблемой в Windows?
- 2 Настройка Windows 10 на обработку длинных путей к файлам
- 2.1 Параметры для Windows 10 Home
- 2.2 Параметры для Windows 10 Pro или Enterprise
- 3 Как временно исправить проблему с файлами?
- 3.1 Легкое Исправление
- 3.2 Менее простые исправления
- 3.2.1 [+] Сегодня в программе
- 4 Слишком длинный целевой путь или имя файла
- 5 Как обойти ограничение на создание файла с длинным путем
- 6 Эксперимент
- 7 Дискуссия
- 7.1 Вас также может заинтересовать:
- 7.2 комментариев 78
Вчера столкнулся с ситуаций когда копировал жесткий диск глав буха на его новый комп и у меня вылетела ошибка при копировании «имена файлов слишком длинны для помещения в эту целевую папку»
дело в том что папки и вложенные в них папки превысили 260 символов и у вас не получится их не скопировать не удалить.
Как из вариантов можно просто переименовать эти папки в более короткий путь либо воспользоваться программой Total Commander и при копировании через нее проделать небольшую операцию
- Выделите папку в Total Commander которую надо скопировать
- нажмите меню Файл -> Изменить Атрибуты
- и приведите настройки к такому виду:
т.е. снимаем галочку со всех атрибутов «Архивный», «Только для чтения», «Системный», «Скрытый» и ставим галочку «Обрабатывать содержимое каталогов» - все !вот такая простая заметочка которая сэкономит вам нервы и время :0)
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Параметры для Windows 10 Home
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.
Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду cd Documents .
Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder , чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
У читателя Александра подопечный юзер спросонья удалил важный файл из сетевой папки. Админ, заранее подстеливший соломку, успокоил беднягу и уверенно открыл вчерашние теневые копии. Файл там был, но в нагрузку с ним шли грабли.
[+] Сегодня в программе
Слишком длинный целевой путь или имя файла
При попытке восстановить я получил ошибку о том, что путь до файла слишком длинен, и ничего с ним сделать нельзя. Т.к. это копия vss переименоватьскопироватьпереместить я его не смог. Бился целый день, но выхода так и не нашел.
И неудивительно, с таким-то путем! 🙂
Графический интерфейс теневых копий выпилили только из Windows 8, а на серверной ОС он сохранился, и свойства папки выглядят аналогично Windows 7.
Снимок экрана любезно предоставил Вадимс Поданс
Как обойти ограничение на создание файла с длинным путем
Понятно, что восстановление [Restore] при таком длинном пути не сработает – ведь нужно скопировать файл в исходное расположение. Но я сходу не понял, почему возникли затруднения с копированием файла в любое другое место [Copy] – главное же было вернуть файл пользователю. Проводник же может скопировать файл из длинного пути.
Так или иначе, я получил письмо в метро, и поэтому с телефона по-быстрому отправил ответ, который должен был обойти препятствие. Я предложил создать символическую ссылку на часть пути:
Теперь копирование файла в C:link должно было вернуть его на прежнее место. И это сработало 🙂
Такое решение пришло мне в голову не случайно – ведь вопрос был о теневых копиях, а я уже пару раз рассказывал, как войти в них с помощью символической ссылки. Позже, когда я готовил эту заметку и рылся в своей записной книжке, всплыло и другое решение, которым я делился три года назад.
Команда subst сопоставляет папку букве диска, и при желании одной командой можно моментально занять все буквы! В принципе, если путь супер-длинный, это может пригодиться, т.к. придется создавать серию сопоставлений.
Эксперимент
Хотите проверить, как все выглядит на практике? Я подготовил для вас CMD-файл (скачать), этапы работы которого вы можете наблюдать в проводнике. Запускайте файл от имени администратора, иначе символическая ссылка не получится. Я проверял работу файла только в Windows 8.1, но он должен работать и в предыдущих ОС.
Поскольку пояснения кириллические, файл нужно сохранять в кодировке MS-DOS (подсказка – у вас всегда есть WordPad 🙂
Прежде чем удалять все файлы на последнем шаге, вы можете поиграть с созданными файлами и папками в файловом менеджере. Вы увидите разные сообщения. Например, при попытке копирования файла в папку:
При создании нового текстового документа (стандартное имя длинное):
Разные консольные команды тоже на свой лад сообщают об ограничении.
Дискуссия
Вообще, длина пути в 260 символов это анахронизм, хотя я не припоминаю, когда сталкивался с ограничением в последний раз. Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.
А вы давно сталкивались с ограничением на длину пути? Напишите в комментариях, как вы справились с проблемой или какое еще решение вы знаете. Я специально не указал все решения задачи:)
Upd. В комментариях читатели поделились своим опытом по обходу ограничения на длину пути:
- FAR (файловый менеджер)
- robocopy (утилита командной строки, входящая в состав современных Windows)
Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.
Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.
Вас также может заинтересовать:
Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!
комментариев 78
как для эксперимента на win 7 создать теневую копию какой-либо папки? Тогда можно было бы поэкспериментировать с длинными именами.
Создайте точку восстановления, см. связанные статьи. Код в статье пригоден для эксперимента без теневых копий.
я чего спросил. Просто фиг его знает, чем там пути в теневых копиях отличаются от обычных.
Если это такие же обычные пути, то можно юзать даже jscript/vbscript + com-библиотека DynamicWrapper v2 + нативные юникодные WinAPI + UNC-пути.
Или python + UNC-пути.
Я тоже знаю карате, кунг-фу и еще много других страшных слов 🙂
Сталкивался с этой проблемой буквально недавно. Приходилось сокращать названия родительских папок.
Павел, этот вариант решения я не рассматривал ввиду очевидности 🙂
Не совсем про длину пути, но тем не менее: мои документы структурированы и хранятся в OneDrive, сотрудник внес изменения, и тут бах — ошибка синхронизации «бла-бла-бла неправильный путь» или как-то так. Долго пытался понять, что же случилось. Оказалось, файл переименовали таким образом, что в начале имени оказался пробел. Причем при копировании файла, допустим, на рабочий стол, пробел в имени самостоятельно исчезал. Интересно, а если бы мне понадобилось восстановить теневую копию подобного файла, удалось бы?
при установке библиотек для node.js все зависимости складываются не в корне папки node_modules, а для каждой библиотеки отдельно внутри ее папки. Таким образом выстраивается огромное дерево с многократной вложенностью. На Windows это привело к тому, что невозможно удалить папку. Никакие советы из интернета не помогли, кроме одного, давно забытого мною — удалить папку из GUI 7zip.
unlocker без проблем удаляет такие файлы/папки
Постоянно с длинными именами возникают проблемы в техотделе. Такая там структура папок. Приходит на буквы вешать пути.
Пользуюсь Far Manager’ом. Он со второй версии может работать с именами практически любой длины. А старые версии да, выдавали ошибку. Справлялся при помощи subst.
Техническое отступление (для программистов)
При использовании юникода в функцию CreateFile и некоторые другие можно передавать очень длинные имена файлов, при условии, что они записаны в UNC-формате (как сетевое имя, начинаются с ). Для ссылки на локальный файл в UNC-формате можно использовать префикс . или ?. Кстати, так можно создать и файлы с зарезервированными именами CON, NUL и другие:
Ввиду того, что со второй версии Far перешёл на юникод и в нём можно создавать, модифицировать и удалять файлы с зарезервированными именами без проблем, можно предположить, что он внутри использует UNC-пути.1
Конец технического отступления
Демотиваторы (и другие картинки с текстом), которые мне понравились, я сохраняю на диск с именем, содержащим сам текст на картинке из соображений индексации. Знаю, что можно вписать текст в EXIF-метки, но модифицировать скачанный бинарный файл не хочу, поэтому переименовываю. Однажды для картинки задал такое длинное имя (переименовал через IrfanView), что теперь она не открывается через проводник и руки не доходят эту картинку переименовать нормально.
Проблема не в длинном пути к файлу как таковом, а в длине параметров, принимаемых некоторыми API-функциями работы с файлами и каталогами. С точки зрения файловой системы (NTFS, в частности) путь может быть и больше 260 символов, но обратиться к файлу, передавая этот путь целиком, не получится.
При этом любой путь можно легко превратить как в более длинный, так и в более короткий, например переименовав какой-то каталог в середине пути.
Пример:
Было C:12345267890файл.txt
Каталог «2» можно переименовать в имя длиной, например, 250 символов (в итоге общая длина пути до каталога «2» составит менее 260 символов, что допустимо, а вот всё что глубже станет недоступным).
Антон: Каталог «2» можно переименовать в имя длиной, например, 250 символов »
Антон, в 250 символов папку переименовать не получится 🙂
Это почему не получится? Вот http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath у них
путь
D:256 символов + NULL
вполне получился (3+256+NUL-символ = 260 символов)
А в моем примере
C:12345 + 250 симв. + NUL-символ= 9 + 250 + 1 = 260
Антон, вы не теоретизируйте, а пробуйте, тогда узнаете, что не получится. А там и догадаетесь, почему 🙂 Если что, я подскажу.
В Far Manager прекрасно и создается, и переименовывается.
Антон, тогда предположу, что для FAR и ограничение в 260 не помеха, и приведенная вами цитата MSDN на него не распространяется. Я же отвечал вам в контексте ограничения в 260 символов (а не в принципе) — попробуйте в проводнике или cmd.
Всё оказывается ещё смешнее. У WinAPI функции CreateDirectory, как выяснилось, лимит еще меньше — 248 символов:
There is a default string size limit for paths of 248 characters. This limit is related to how the CreateDirectory function parses paths.
На это я вам и намекал, но смешного тут ничего нет (это вытекает из ограничения 260 — подумайте, почему). А как его узнать без чтения документации и ручного подбора максимальной длины? 🙂
Антон: В Far Manager прекрасно и создается, и переименовывается.»
Я писал уже выше, почему Far Manager может оперировать с очень длинными именами.
Здравствуйте! неделю назад, компьютер заразился вирусом, его название я правда не знаю, ну все файлы стали с расширением докладная[email protected] теперь вот не знаю что делать, я пробовал писать сообщение на этот адрес [email protected] они мне ответили что цена дешифратора 550$ эта получается 20 000р где та. Есть ли какой нибудь другой выход, чтобы расшифровать файлы и т.д ?
Возможно, автор вируса — школьник, тогда алгоритм «шифрования» XOR, а «ключ» — новое расширение файла или его (расширения) часть. Напоите пивом знакомого быдлокодера, и он вернет вам ваши документы. Но сперва вылечите рабочую машину.
Дмитрий, на OSZone есть форум Лечение.
Рекомендую посмотреть неплохую бесплатную программу ShadowExplorer.
http://www.shadowexplorer.com/
А для чего она служить, можно подробнее её описание? просто еще 1с полетело, для бухгалтеров это катастрофа, не сколько организаций тоже столкнулись с такой проблемой, так и решение не нашли, антивирусные программы её не видят как вирус…
Программа для удобной работы с теневыми копиями.
Про эту программу я написал не для Вас, а в данную обсуждаемую тему.
А Вам нужно обратиться в тему обсуждения лечения зараженных компьютеров.
А лучше обратитесь к специалистам.
Хотя можно попробовать этой программой вытащить необходимые данные.
Да, эту программу читатели рекомендуют в каждой записи, где упоминаются теневые копии 🙂 А что, она позволяет решить поставленную в записи задачу?
У меня было, месяц назад. На сервере сетевой диск. Говорят раньше могли, а сейчас не можем сохранять, ну я предложил укоротить имя файла но все равно вопрос остался, почему раньше да а сейчас нет. Они ведать изменили (удленили) имя как в примере навел Антон.
Когда-то из архива достал файл с огромным именем в нескольких (>10) подкаталогах. Дальнейшие обычные операции с файлом были не возможны. Мне подсказали что и имена подкаталогов учитываются — я переименовал все папки на «1» и это помогло — имя/путь влез в некий максимум. Решение ламера, да.
Попозже я читал о Subst но больше подобной проблемы не встречал.
да сталкивался несколько раз но всегда это было связанно с копированием каких-то файлов из смартфона …………. что на старом WM что на новом Android этих проблем нет а на винде почему-то есть …….. где справедливость то :))))))))
Регулярно сталкиваюсь, когда увольняются сотрудники, и все, что нажито их непосильным трудом, нужно переместить во временное хранилище (своеобразная корзина). Правда у нас 8dot3-имена включены, они и выручают 🙂
Сталкивался с этой бедой при копировании файлов, решил с помощью Far Manager’а.
До простого и элегантного решения с символической ссылкой я тогда не догадался.
Я регулярно сталкиваюсь с превышением длины пути.
Когда копирую с клиентских винчестеров файлы на временный диск, естественно, добавляются дополнительные символы в виде имени папки.
Сталкивался с ограничениями по работе — при копировании профиля пользователя в папке C:Users%username%AppDataLocalLotusNotesData лежат какие-то лотусные файлы с длинными именами, и при копировании проводником система ругается на длину пути. При копировании с помощью robocopy или TotalCommander проблем не возникало.
Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.
Мне вот тоже иногда не хватает длины пути из-за ограничений ОС. Страдает синхронизация с облаками, например.
Когда много различных проектов и подпроектов в работе, без четкой и понятной иерархии папок трудно найти нужную.
Больше всего в ОС Windows 8.1 меня раздражает кривой поиск. Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. Как результат — длинющаяя портянка файлов, среди которой очень трудно найти нужную папку и быстро в нее перейти. Да и ищет такой поиск долго, несмотря на все включенные индексации и SSD 256 (samsung 840 pro) с примерно половиной свободного места.
«Недавние папки» — тоже далеко не всегда показывают папку, которую я недавно закрыл или в которой создавал файл, или открывал/сохранял файл через какую-либо программу. Т.е. «недавние папки» работают как то очень своеобразно.
Итого, без четкой иерархии с понятными (и длинными) названиями папок, у многих из которых есть нумерация в начале папки (чтобы сортировка была не по алфавиту, а как нам в компании удобно, нумерация папок у проектов соответствует жизненному циклу проекта) и есть дата (формата 2014-09-11), не обойтись.
Хотя хотелось бы=)
Больше всего в ОС Windows 8.1 меня раздражает кривой поиск. Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. Как результат — длинющаяя портянка файлов, среди которой очень трудно найти нужную папку и быстро в нее перейти.
Попробовал, вбивал в строку поиска в проводнике. OC — Win 8.1
Результат — опять большая портянка всех файлов (которые, походу, входят в папку, которую я ищу), а не папок.
Да, в пути подсвечивается папка (и то, не у всех файлов, а у тех, у которых нужная папка «ближе» к корню диска.
У остальных файлов даже папка не подсвечивается, а скрыта за многоточием: http://prntscr.com/4m0qne
Итого, способ такой-же не эффективный. В сам поиск писать дольше (надо написать папка:) и на выдаче опять портянка файлов вместо, например,
5 папок. Или я не понял как правильно делать=)
Вадим, и про «недавние места» можете еще прокомментировать? Есть способ как то улучшить работу с ними?
Антон, сорри, писал по памяти с телефона 🙂 Правильный фильтр вид:=папка. Помимо ввода вручную, в 8+ выбирается из меню Тип (издержки локализации), когда курсор в поле поиска.
Недавние места не поддаются настройке.
Спасибо за подсказку!
не айс, конечно, но хотя бы так. файлы я совсем практически не ищу, а папки — постоянно.
еще раз спасибо!
Антон: чтобы сортировка была не по алфавиту, а как нам в компании удобно, »
Эх, а в ХР это делалось банальным перетаскиванием мышкой в нужный порядок )))
Антон: Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. »
Everything в помощь- там есть фильтр «Папки» (запоминается при выборе), и поиск мгновенный.
По теме записи- как то не сталкивался.
Я попробовал Everything, очень понравилась скорость поиска. Все мгновенно находит вообще мгновенно, и файлы, и папки. Встроенный поиск Windows нервно курит в сторонке по скорости поиска=)
Спасибо за прогу.
Поиск папок в 8.1 абсолютно мгновенный, также как и поиск файлов. Просто вводите в строке Поиска Проводника 2-3 буквы — и результат на лицо. Следует напомнить, что содержимое должно быть проиндексировано. Вот пример:
https://cloud.mail.ru/public/7ffea94e318e%2F%D0%9F%D0%BE%D0%B8%D1%81%D0%BA.PNG
Пользуюсь Total Commander — он адекватно работает с длинными путями, до проблем «Проводника» и извращений с этим связанными мне уже давно никакого дела нет.
Алексей, зато у вас другие проблемы (кстати, я угадал ваш ФМ 🙂
Total Commander сейчас и 64-битный есть. Так что если юзать его на 64-битный ОС, то данной проблемы не должно быть.
Есть, но я же не придумывал эту проблему — мне ее доставили в качестве претензии к моему скрипту 🙂
Копировал бэкап со сгоревшего компа на свой (Win7) стандартным проводником. В итоге общий путь до файла был очень длинным и проводник сказал, что скопировать файл нельзя. В итоге взял totalcommander и всё скопировалось только лишь с одним запросом о том, что путь слишком длинный.
Самый простой выход в этом вопросе — не заниматься извращениями и не создавать странную древовидную структуру. Для быстрого доступа к информации существуют более легкие и простые пути. Читайте Справку Windows или блог Стеркина.
зы. Но мы не ищем легких путей)))
Когда-нибудь работали на предприятии с активно развивающейся базой по номенклатуре, КД и пр.? Вопрос риторический, можете не отвечать.
Здравствуйте!
Очень полезный пост. Буквально месяц назад ломал голову как обойти это ограничение, и как раз по причине описанной вами. Проблему решил этим же методом, я так понимаю что это единственный метод.
Алексей, не единственный — в статье их два, а в комментариях есть еще пара (я добавил их в конец записи).
Интересное решение.
Сам при таких проблемах делал либо при помощи программы killcopy, еще стоит terracopy. Totalcommander редко использую.
Но как вы считаете, как лучше сделать, если ты, допустим, поставил на копирование кучу файлов на внещний hdd, он тебе перекачивает, потом говорит, что ай ай ай длинное имя. Но не дает возможности переименовать или что-то еще. Только пропустить и прервать. А вы понимаете, что потом заниматься поиском пропущенных файлов ой как не хочется. Так вот, как на таком этапе дешевле всего решить проблему?
Гамлет Принцдатский
Я решил эту проблему через подключение сетевого диска. Подключаем сетевой диск на папку выше той папки, где удален файл ну, а дальше восстанавливаем файл
А что мешало восстановить в любую папку локального диска?
Гамлет Принцдатский
Vadim Sterkin: А что мешало восстановить в любую папку локального диска?
»
Отсутствие свободного места на локальном диске.
Я храню разные заметки по работе в многих папках и подпапках. А иногда в такой под-под-под-…папке сохраняю вэб-страницу с длинным исходным названием. И все бы ничего — но при попытке скопировать эту структуру, например, из rar-архива на домашний компьютер — получаю отказ.
Есть ли какое-то средство (программа) для мониторинга/проверки текущей структуры папок-файлов на приближение к 250символам?
OneNote и поиск по нему — отличная замена маниакальной вложенности папок.
Спасибо. А файлики в документ OneNote можно вложить/прикрепить?
Если при попытке извлечь файл Zip или файл архива на компьютере с Windows 11 или Windows 10 вы получите Прерванное действие подсказка с сообщением об ошибке 0x80010135: путь слишком длинный, то этот пост предназначен для того, чтобы помочь вам с наиболее подходящими решениями, которые вы можете применить, чтобы легко решить проблему в вашей системе.
К основным причинам этой проблемы относятся:
- Пути к файлам длиннее 260 символов, поскольку библиотека API Windows 32 не поддерживает пути к файлам длиной более 260 символов.
- Повреждение файла
- Заражение вредоносным ПО
- Неправильная или неудачная установка программного обеспечения
- Случайное удаление необходимого системного файла или записи
Архивы — это файлы, содержащие один или несколько файлов данных, среди которых чаще всего используются архивы Zip, RAR, Unix Tar и CAB. Эти типы файлов, часто называемые сжатыми папками, удобны при копировании и отправке нескольких файлов, поскольку они обеспечивают более легкое хранение и переносимость. Архивы также сжимают файлы, что позволяет им занимать меньше места. Итак, если вы получаете Ошибка 0x80010135: слишком длинный путь При попытке извлечь или разархивировать Zip-файл или любой другой архивный файл на компьютере с Windows 11/10 отображается сообщение «Прерванное действие», а затем в произвольном порядке наши рекомендуемые решения, представленные ниже, должны помочь вам решить эту проблему.
- Используйте альтернативный инструмент для извлечения Zip-файлов
- Извлеките файл архива в корневую папку или извлеките только подпапки
- Используйте команду Robocopy или XCopy
- Включить поддержку длинных путей в Windows
Давайте посмотрим на описание процесса применительно к каждому из перечисленных решений.
Чтение: исправить ошибку 0x800700CE, имя файла или расширение слишком длинное
Прежде чем приступить к приведенным ниже решениям, самым простым решением этой проблемы в большинстве случаев является переименование архивного файла с более коротким именем (например, 123456789_abcdefg_temp.zip в temp.zip), чтобы сократить путь к файлу. Если возможно, сначала откройте файл архива, поскольку он может содержать несколько родительских/дочерних папок, а затем найдите все каталоги с длинными именами. Если вы не можете переименовать вложенные папки в архиве, вы можете переименовать сам каталог архива, указав более короткое имя, а затем снова попытаться извлечь содержимое архива.
1]Используйте альтернативный инструмент для извлечения Zip-файлов
Встроенная в Windows утилита может хорошо сжимать и разархивировать zip-файлы. Однако, в некоторых случаях, Слишком длинный путь Ошибка 0x80010135 может произойти из-за того, что инструмент не может обрабатывать определенный формат zip. Чтобы обойти это ограничение, вы можете использовать альтернативное стороннее программное обеспечение для сжатия или распаковки, например 7-Zip, которое хорошо работает с большинством форматов архивных файлов.
Читайте: Инструмент Long Path Fixer Tool исправит ошибки Path Too Long
2]Извлеките файл архива в корневую папку или извлеките только подпапки.
Вы можете извлечь файл архива в корневую папку, выполнив следующие действия:
- Переименуйте zip-файл в более короткое родительское имя.
- Скопируйте и переместите файл в С: раздел или папка на диске С:.
Это сократит путь при извлечении файла в корневую папку за счет добавления меньшего количества символов в путь к файлу. Убедитесь, что корневая папка находится на C:, D: или любом другом.
- Наконец, распакуйте zip-файл в папку в С: раздел.
Вы также можете открывать папки с длинными именами файлов в архиве и извлекать их только в каталог. После этого вы можете упорядочить их в соответствии с исходным архивом, создав папки и переместив в них подпапки. Убедитесь, что вы используете короткие имена для новой папки.
Если вы потерпели неудачу и ошибка в представлении появляется снова, вы можете попробовать следующее решение.
Чтение: имена исходных файлов больше, чем поддерживается файловой системой.
3]Используйте команду Robocopy или XCopy.
Robocopy (Robust File Copy) — это команда командной строки для репликации каталогов/файлов. По умолчанию Robocopy копирует файл только в том случае, если источник и место назначения имеют разные временные метки или разные размеры файлов. Кроме того, Robocopy будет принимать пути в формате UNC, включая длинные пути длиной более 256 символов — хотя Robocopy успешно копирует такие файлы, чтобы избежать таких проблем, как трудности с доступом к файлам с помощью проводника Windows, вам необходимо выбрать папку назначения с более коротким именем, чем у источника. папка.
Чтобы использовать команду Robocopy для копирования содержимого zip в папку назначения на ПК с Windows 11/10, выполните следующие действия:
- Нажмите клавишу Windows + R, чтобы вызвать диалоговое окно «Выполнить».
- В диалоговом окне «Выполнить» введите команда а затем нажмите CTRL + SHIFT + ENTER, чтобы открыть командную строку в режиме с повышенными привилегиями.
- В окне командной строки скопируйте и вставьте приведенную ниже команду и нажмите Enter:
robocopy SourceFilePath DestinationPath /E /copyall
Замените путь к исходному файлу а также Путь назначения заполнители соответственно — так что ваш синтаксис должен выглядеть примерно так:
robocopy C:src C:dst /E /copyall
В качестве альтернативы вы можете запустить следующую команду:
robocopy C:source D:destination *.zip /MIR /v /s /XX
При таком синтаксисе переключатель /s необходим для предотвращения копирования любой пустой папки в архивный файл, а переключатель /xx необходим для предотвращения удаления старых файлов в папке назначения.
Инструмент XCopy, что означает EXtended Copy, — это популярная утилита командной строки для копирования больших объемов данных в Windows. Команда создает файлы с установленным атрибутом архива независимо от того, был ли этот атрибут установлен в исходном файле. Чтобы использовать команду XCopy для копирования содержимого zip в папку назначения на ПК с Windows 11/10, выполните следующую команду:
xcopy SourceFilePath DestinationPath /O /X /E /H /K
Чтение: имена файлов слишком длинные для сообщения об ошибке папки назначения.
4]Включить поддержку длинных путей в Windows
В Windows API (за некоторыми исключениями) максимальная длина пути составляет MAX_PATH, который определяется как 260 символов. Локальный путь структурирован в следующем порядке:
- Буква диска
- Двоеточие
- Обратная косая черта
- Компоненты имени, разделенные обратной косой чертой
- Завершающий нулевой символ
По умолчанию поддержка длинных путей в Windows отключена. Для этого решения необходимо включить поддержку длинных путей Win32 с помощью редактора локальной групповой политики, редактора реестра, PowerShell или командной строки.
Чтобы включить поддержку длинных путей с помощью редактора локальной групповой политики, выполните следующие действия:
- Нажмите клавишу Windows + R, чтобы вызвать диалоговое окно «Выполнить».
- В диалоговом окне «Выполнить» введите gpedit.msc и нажмите Enter, чтобы открыть редактор групповой политики.
- В редакторе локальной групповой политики используйте левую панель, чтобы перейти по указанному ниже пути:
Конфигурация компьютера > Административные шаблоны > Система > Файловая система
- В этом месте на правой панели дважды щелкните запись «Включить длинные пути Win32», чтобы изменить ее свойства.
- В открытом окне политики установите переключатель в положение Включено.
- Нажмите Применить > ОК, чтобы сохранить изменения.
- Выйдите из редактора локальной групповой политики.
- Перезагрузите компьютер.
Для пользователей Windows 11/10 Домашняя вы можете добавить функцию редактора локальной групповой политики, а затем выполнить инструкции, как указано выше, или вы можете использовать метод реестра, PowerShell или командной строки ниже.
Чтобы включить поддержку длинных путей через PowerShell, выполните следующие действия:
New-ItemProperty -Path «HKLM:SYSTEMCurrentControlSetControlFileSystem» -Name «LongPathsEnabled» -Value 1 -PropertyType DWORD –Force
- Выйдите из терминала Windows после выполнения команды.
- Перезагрузите ПК.
Чтобы включить поддержку длинных путей через командную строку, выполните следующие действия, чтобы отредактировать реестр через командную строку:
- Откройте командную строку в повышенном режиме.
- В окне командной строки скопируйте и вставьте приведенную ниже команду и нажмите Enter:
reg.exe Добавить «HKLMSYSTEMCurrentControlSetControlFileSystem» /V «LongPathsEnabled» /T REG_DWORD /D «1»
- Выйдите из командной строки CMD после выполнения команды.
- Перезагрузите ПК.
Чтобы включить поддержку длинных путей через редактор реестра, выполните следующие действия:
Поскольку это операция реестра, рекомендуется создать резервную копию реестра или создать точку восстановления системы в качестве необходимых мер предосторожности. После этого вы можете действовать следующим образом:
КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
- В этом месте на правой панели дважды щелкните ключ LongPathsEnabled, чтобы изменить его свойства.
- В диалоговом окне свойств введите 1 в поле Вценные данные поле.
- Нажмите OK или Enter, чтобы сохранить изменения.
- Выйдите из редактора реестра.
Кроме того, вы можете автоматически включить Лонгпассенаблед ключ в реестре. Вот как:
- Нажмите клавишу Windows + R, чтобы вызвать диалоговое окно «Выполнить».
- В диалоговом окне «Выполнить» введите блокнот и нажмите Enter, чтобы открыть Блокнот.
- Скопируйте и вставьте приведенный ниже код в текстовый редактор.
Редактор реестра Windows версии 5.00
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem]»LongPathsEnabled»=dword:00000001
- Теперь выберите в меню пункт «Файл» и нажмите кнопку «Сохранить как».
- Выберите место (предпочтительно на рабочем столе), где вы хотите сохранить файл.
- Введите имя с расширением .reg (например, EnableLongPaths.reg).
- Выбирать Все файлы из раскрывающегося списка Тип файла.
- Дважды щелкните сохраненный файл .reg, чтобы объединить его.
- При появлении запроса нажмите «Выполнить» > «Да» (UAC) > «Да» > «ОК», чтобы подтвердить слияние.
- Теперь вы можете удалить файл .reg, если хотите.
- Перезагрузите ПК.
Любое из этих решений должно работать для вас.
Читать: Исходный путь слишком длинный? Используйте SuperDelete для удаления файлов с такими ошибками
Как обойти слишком длинный путь к файлу?
если путь слишком длинный, сначала скопируйте папку на верхние уровни в проводнике, а затем переместите ее на локальный компьютер. если имена файлов слишком длинные, сначала попробуйте заархивировать файлы с помощью приложения для архивации, а затем скопируйте файл архива на локальный компьютер, а затем извлеките содержимое. Вы также можете использовать сторонние приложения.
Как я могу скопировать более 256 символов?
В Windows есть ограничение: длина полного пути к файлу не может превышать 255 символов. У Microsoft есть программа копирования из командной строки под названием Robocopy (Robust Copy), которая может копировать файлы без этого ограничения. ROBOCOPY будет принимать пути UNC, включая пути UNC длиной более 256 символов.
Читайте также: TLPD — это средство поиска длинных файлов для обнаружения файлов с длинными путями в Windows.
Содержание
- Слишком длинное имя файла при копировании windows 10
- Описание проблемы длинных путей
- Методы снимающие ограничения на длину пути в Windows
- Нюансы длинных путей в приложениях
- Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику
- Включение поддержки длинных путей через реестр
- Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
- Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
- Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
- Обход ограничений длинных путей через 7zFM
- Как обойти ограничение длинных путей через символьную ссылку
- Как исправить проблему «Имя файла слишком длинное» в Windows
- Почему длина имени файла является проблемой в Windows?
- Настройка Windows 10 на обработку длинных путей к файлам
- Параметры для Windows 10 Home
- Параметры для Windows 10 Pro или Enterprise
- Как временно исправить проблему с файлами?
- Легкое Исправление
- Менее простые исправления
- Слишком длинное имя файла при копировании windows 10
- Вопрос
- Как исправить проблему «имя файла слишком длинное» в Windows
- Почему длина имени файла даже проблема в Windows?
- Легкое Исправление
- Менее простые исправления
- Заставьте Windows 10 принимать длинные пути к файлам
- Это оно
Слишком длинное имя файла при копировании windows 10
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.
Описание проблемы длинных путей
Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?.
Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:
Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:
Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».
Вот ошибка при извлечении архива в сетевую папку:
Методы снимающие ограничения на длину пути в Windows
Нюансы длинных путей в приложениях
Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.
Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:
Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику
Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \?, то групповые политики вам это помогут.
Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.
Далее идем по пути:
Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.
Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.
Включение поддержки длинных путей через реестр
Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:
тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.
Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.
Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:
Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.
Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
Запустите командную строку в режиме администратора и введите:
Обход ограничений длинных путей через 7zFM
Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.
Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.
Для создания новой папки нажмите клавишу F7.
Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.
В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.
Проверяем, что директория доступна через проводник Windows.
Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.
Как обойти ограничение длинных путей через символьную ссылку
Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:
Нам поможет команда mklink, где ключ /D создает ссылку на каталог
Источник
Как исправить проблему «Имя файла слишком длинное» в Windows
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Параметры для Windows 10 Home
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.
Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Источник
Слишком длинное имя файла при копировании windows 10
Вопрос
Недавно нашел статью, в которой сказано, что в В Windows 10 Anniversary сняли ограничение на длину путей и имен файлов в 260 символов https://windowstips.ru/notes/24858
Нашел другую статью, в которой сказано, что данная настройка переместилась с раздела NTFS в раздел Файловая система https://www.tenforums.com/tutorials/51704-enable-disable-win32-long-paths-windows-10-a.html
Включил, как указано в статье, в данной настройке поддержку длинных имен, перезагрузился.
Но все равно не удается как переместить файлы в папки, которые располагаются по длинным путям, так и переименовать файлы и папки, которые имеют длинные пути.
Для копирования в нужную папку использую FastCopy или TeraCopy, для переименования и перемещения можно использовать еще Total Commander, но я им не пользуюсь, его интерфейс делает больно моим глазам.
К слову, с удалением слишком файлов с длинными именами как раз проблем особых и не возникло (может из-за включенной настройки Enable NTFS long paths (Включить длинные пути Win32, у меня русскоязычная локализация)
Ну и опционально, какие еще есть программы для переименование файлов с длинными именами кроме файловых менеджеров?
Источник
Как исправить проблему «имя файла слишком длинное» в Windows
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее легким, гарантированно исправным исправлениям.
Почему длина имени файла даже проблема в Windows?
Существует длинная история длин файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Как мы это исправим?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
C: User guymc Documents Мои резюме резюме с именами на долгие годы, когда возникают проблемы, и они становятся частью нашего творчества.
Понятно, кто в этом случае преступник. Найдите файл в проводнике Windows или в проводнике, как он вызывается в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по какой-либо причине.
Следующие решения помогут вам. Их не сложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, в которых количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
C: Users guymc Documents Это Is Точно Параметр Precise Directory Путь Это I Потребность К Have К Keep My Files Рассортировано В А Маннер Это ДАЕТ Sense К Me Так Lets Притворись В этом Is An Actual Filepath что вы Might Также Have на Ваш Windows компьютер А не Over Think It Document.docx
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Откройте PowerShell. Если вы еще не использовали PowerShell, прочитайте нашу статью «Использование PowerShell для домашних пользователей — Руководство для начинающих». Вы можете сделать следующие шаги, не читая статью, хотя.
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C: Users guymc — ваш пользовательский каталог.
Каталог с именем This находится внутри каталога Documents. Чтобы перейти в каталог Documents, мы используем команду DOS cd Documents.
Вы увидите быстрое изменение C: Users guymc Documents. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Командлет поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder, чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем командлет Remove-Item.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно. Вы можете попробовать методы в Как восстановить случайно удаленные файлы, но не ожидайте многого.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Заставьте Windows 10 принимать длинные пути к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Заставьте Windows 10 Home принимать длинные пути к файлам
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра. Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом в нашем Руководство по резервному копированию и восстановлению реестра Windows,
После открытия редактора реестра и создания резервной копии перейдите в папку HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control FileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Заставьте Windows 10 Pro или Enterprise принимать длинные пути к файлам
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы собираемся использовать редактор групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
У нас есть несколько статей об использовании групповой политики для таких вещей, как отключение или включение параметров Internet Explorer или добавление сообщения на экран входа в систему.
Откройте редактор групповой политики, перейдя в меню «Пуск» и введя gpedit. Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера> Административные шаблоны> Система> Файловая система. Там вы увидите политику «Включить длинные пути Win32».
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК» для подтверждения изменения.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Это оно
Есть несколько других способов обойти длинные имена файлов и пути к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Источник
Системные ошибки могут возникнуть рано или поздно, и многие пользователи сообщали об ошибке ERROR_FILENAME_EXCED_RANGE. За этой ошибкой часто следует сообщение об ошибке Имя файла или расширение слишком длинное.
К счастью, это не самая сложная проблема, поэтому сегодня мы покажем вам, как избавиться от нее в Windows 10.
Что делать, если имя файла или расширение слишком длинное?
1. Измените имя каталога
Имя файла или расширение слишком длинное. Сообщение об ошибке обычно появляется при попытке доступа или изменения определенного файла. Обычно проблема не в файле. Это расположение файла.
Windows имеет определенное ограничение на длину пути к файлу; если путь к файлу слишком длинный, вы столкнетесь с этой ошибкой. Пользователи сообщили, что не могут перемещать или получать доступ к проблемным файлам из-за этой ошибки.
Вам нужно переименовать проблемный файл или изменить его путь, чтобы устранить проблему. В большинстве случаев вы не можете переименовать файл, но вы можете решить проблему, переименовав один из каталогов, содержащих этот файл.
Для этого переименуйте одну или несколько папок, ведущих к этому файлу, и проблема должна быть решена. Переименовав папки, вы уменьшите количество символов и снова сможете получить доступ к своим файлам.
2. Создайте сетевой диск
- Найдите папку, содержащую проблемный файл, и щелкните ее правой кнопкой мыши. Выберите «Поделиться с» > «Конкретные люди» в меню.
- Выберите пользователя или группу, которым вы хотите поделиться своим файлом, и нажмите кнопку «Поделиться». Из соображений безопасности, вероятно, лучше выбрать свое имя пользователя.
Вы также можете временно решить эту проблему, создав сетевой диск. Прежде чем вы сможете использовать это решение, вам необходимо предоставить общий доступ к своей папке. Это относительно просто, и вы можете сделать это, следуя вышеизложенному.
После того, как папка станет общей, вам нужно создать сетевой диск. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
- Откройте этот компьютер. Перейдите на вкладку «Компьютер» и выберите параметр «Подключить сетевой диск».
- Выберите нужную букву диска и путь к папке. Обязательно снимите флажок «Переподключаться при входе в систему» и нажмите кнопку «Готово».
- Когда вы закончите, вы увидите новый доступный диск и сможете использовать его для доступа к проблемным файлам.
Это относительно простой обходной путь, но если вы не знакомы с сетевыми папками и общим доступом, у вас могут возникнуть проблемы с выполнением этого решения. После создания сетевого диска вы можете легко переместить проблемные файлы в другую папку, чтобы решить эту проблему.
3. Используйте теракопию
Если вы часто получаете сообщение об ошибке Имя файла или расширение слишком длинное, вы можете исправить это с помощью Teracopy. Если вы не можете удалить файлы, которые вызывают эту ошибку, обязательно попробуйте этот инструмент.
Просто скачайте Teracopy и перетащите туда проблемные файлы. Нажмите «Дополнительно» > «Удалить», чтобы удалить проблемные файлы с вашего ПК. Как видите, это довольно простое решение, если вам нужно удалить эти файлы, поэтому обязательно попробуйте его.
4. Скопируйте или переместите эти файлы в другую папку.
В большинстве случаев вы не сможете открывать файлы из-за этой ошибки, но можете их переместить. Просто найдите проблемные файлы и переместите их в другой каталог.
Вы можете создать новый каталог в корневой папке, например C: или D, и скопировать туда свои файлы. После этого вы сможете без проблем получить доступ к скопированным файлам.
5. Добавьте эти файлы в архив
Если вы получаете эту ошибку при попытке доступа к определенным файлам, вы можете исправить ее с помощью этого обходного пути. Вам нужно добавить проблемные файлы в архив, и вы сможете легко их переместить.
Кроме того, вы также можете извлечь файлы в другое место, чтобы получить к ним доступ. Имейте в виду, что архивирование может быть медленным процессом в зависимости от размера ваших файлов, поэтому архивирование всех файлов может занять некоторое время.
Вы можете архивировать файлы без сторонних инструментов; для этого вам нужно щелкнуть правой кнопкой мыши файл или папку, которую вы хотите заархивировать, и выбрать опцию «Добавить в архив».
Несколько пользователей также рекомендуют использовать инструмент 7-zip для решения этой проблемы. По их словам, вы можете использовать это приложение для создания zip-архива, но вы также можете использовать его для удаления проблемных файлов с вашего ПК.
6. Используйте командную строку
- Нажмите Windows клавишу, введите cmd и нажмите «Запуск от имени администратора» в разделе «Командная строка».
- Когда откроется командная строка, введите команду ниже и нажмите Enter :
subst X: "C:Path_to_the_problematic_file"
- После выполнения команды вы сможете получить доступ к диску X: и всем проблемным файлам.
Если вы опытный пользователь, вы можете легко решить эту проблему с помощью командной строки. С помощью этого инструмента вы можете назначить путь к папке букве диска. Этот метод позволяет использовать только что созданную букву диска и получать доступ к проблемным файлам.
Имейте в виду, что это решение предназначено для опытных пользователей, поэтому, если вы не знакомы с командной строкой, вы не сможете правильно ее выполнить.
Также важно отметить, что мы не могли видеть новые диски на нашем ПК, но мы могли получить к ним доступ с помощью командной строки. Если вам нужно удалить только что созданный диск, вы можете ввести subst x: /d в командной строке.
7. Используйте Total Commander
Если вы не можете получить доступ к своим файлам из-за сообщения об ошибке Имя файла или расширение слишком длинное, вы можете попробовать использовать Total Commander. Это файловый менеджер с двумя панелями, и вы сможете легко получить доступ к этим файлам.
Total Commander является условно-бесплатным инструментом, но вы можете скачать его бесплатно и попробовать решить эту проблему с его помощью. Если вы не являетесь поклонником этого приложения, вы можете попробовать использовать любой другой файловый менеджер.
Несколько пользователей сообщили, что они удалили проблемные файлы с помощью GoodSync Explorer, поэтому вы также можете попробовать этот инструмент.
8. Используйте средство фиксации длинного пути
Несколько пользователей сообщили, что вы можете легко решить эту проблему с помощью Long Path Fixer. Это бесплатное приложение, которое позволит вам переименовывать, копировать или удалять проблемные файлы.
Кроме того, вы можете попробовать использовать такие инструменты, как Long Path Eraser Free или Ant Renamer. Все эти инструменты бесплатны, и вы можете использовать их для переименования проблемных файлов или папок и получения к ним доступа.
9. Используйте командную строку для переименования файлов или папок.
9.1. Показать скрытые файлы
- Откройте Проводник.
- Перейдите на вкладку «Вид» и установите флажок «Расширения имен файлов» и «Скрытые элементы». Тем самым вы обнаружите все скрытые файлы и расширения.
Прежде чем вы сможете переименовать свои файлы, вам нужно открыть скрытые файлы, папки и расширения. Вы можете сделать это с легкостью, выполнив шаги, описанные выше.
9.2. Переименуйте файл
- Запустите командную строку от имени администратора.
- После запуска командной строки введите команду ниже и нажмите Enter :
REN "C:Path_to_the_problematic_fileProblematicFile.txt""File2.txt"
Не забудьте ввести правильный путь к проблемному файлу и расширение файла. В качестве примера мы использовали ProblematicFile.txt, поэтому замените его фактическим именем файла, вызвавшим эту ошибку.
Если у вас есть несколько файлов, к которым вы не можете получить доступ, попробуйте изменить имя папки. Для этого сделайте следующее:
- Откройте командную строку от имени администратора.
- Когда откроется командная строка, введите команду ниже и нажмите Enter :
REN "C:Path_to_the_problematic_folder""New Folder Name"
- Обязательно выберите папку с самым длинным именем и переименуйте ее, чтобы сделать ее короче.
- После переименования папки вы сможете без проблем получить доступ к проблемным файлам.
Имя файла или расширение слишком длинное. Сообщение об ошибке может помешать вам получить доступ к вашим файлам или папкам из-за их длинного пути, но вы можете обойти эту проблему, переименовав их.
Это немного продвинутое решение, поэтому оно может не подойти для обычных пользователей. Если вы не знакомы с командной строкой, может потребоваться несколько попыток, чтобы правильно переименовать файлы или папки.
10. Загрузите файл в Dropbox и переименуйте его.
Это простой обходной путь, и он идеально подходит, если вы не можете получить доступ к паре файлов меньшего размера. Вы также можете использовать это решение с файлами большего размера, но, поскольку оно требует загрузки файлов в Dropbox, лучше использовать его с файлами меньшего размера.
Найдите проблемный файл и загрузите его в Dropbox, чтобы решить проблему. После загрузки файла откройте хранилище Dropbox, переименуйте его и снова загрузите.
Если вы используете автоматическую синхронизацию для Dropbox, файл будет автоматически загружен на ваш компьютер, и вы сможете получить к нему доступ без каких-либо проблем.
11. Внесите изменения в групповую политику
- Нажмите Windows клавишу + R , введите gpedit.msc и нажмите кнопку ОК.
- После запуска редактора групповой политики на левой панели перейдите в раздел «Политика локального компьютера» > «Конфигурация компьютера» > «Административные шаблоны» > «Система» > «Файловая система». Теперь найдите «Включить длинные пути NTFS» на правой панели и дважды щелкните его.
- Выберите параметр «Включено» и нажмите «Применить» и «ОК», чтобы сохранить изменения.
- Закройте редактор групповой политики, перезагрузите компьютер и проверьте, решена ли проблема.
По словам пользователей, в Windows 10 были внесены некоторые улучшения, связанные с ограничением количества символов в пути. В предыдущих версиях Windows длина пути для пользователей была ограничена 260 символами, но это ограничение может быть снято в Windows 10.
Если вы не можете получить доступ к редактору групповой политики в своей версии Windows, вы также можете снять это ограничение с помощью редактора реестра. Для этого выполните следующие действия:
- Нажмите Windows клавишу + R , введите regedit и нажмите OK.
- Когда откроется редактор реестра, перейдите по пути ниже на левой панели:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
- На правой панели найдите и дважды щелкните LongPathsEnabled DWORD. Если этот ключ недоступен, вам потребуется создать его вручную.
- Для этого щелкните правой кнопкой мыши пробел на правой панели и выберите «Создать» > «Значение DWORD (32-разрядное)». Введите LongPathsEnabled в качестве имени нового DWORD и дважды щелкните его, чтобы открыть его свойства.
- Когда откроется окно «Свойства», установите для параметра «Значение» значение 1 и нажмите «ОК» , чтобы сохранить изменения.
- Закройте редактор реестра и перезагрузите компьютер.
Если вы не хотите редактировать свой реестр вручную, вы можете использовать этот zip-файл и файлы внутри, чтобы мгновенно применить изменения.
Просто запустите файл Remove 260 Character Path Limit.reg из архива, чтобы удалить ограничения пути к файлу. Вы также можете запустить другой файл из архива, чтобы снова включить ограничение.
Независимо от выбранного вами метода, включение этой опции позволит вам без проблем получить доступ к любому пути к файлу, поэтому попробуйте это решение.
Имя файла или расширение слишком длинное, и ошибка ERROR_FILENAME_EXCED_RANGE может появиться на любом ПК, но вы сможете легко исправить их, используя одно из решений из нашей статьи.
Не стесняйтесь сообщить нам о решении, которое помогло вам решить эту проблему, в комментариях ниже.