Windows не удаляет файлы с длинными именами

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

Описание

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

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

Причина

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

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Способ 3. Far Manager

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

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

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

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

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

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

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

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

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

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

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

Как удалить файл в Windows со слишком длинным именем файла? [Дубликат]

На этот вопрос уже есть ответ здесь:

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

Читайте также:  Oracle 10g установка windows

Если вы хотите полностью удалить каталог и он содержит длинные пути, robocopy ОЧЕНЬ хорошо работает:

Это работает, потому что robocopy внутренне использует Unicode-совместимые версии функций Win32 с \\?\ префиксом для путей к файлам ; эти функции имеют ограничение 2¹⁶1 (32 767) символов вместо 259.

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

Из командной строки:

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

Я прогрессивно продолжаю свой путь по пути, переименовывая каждую последующую родительскую папку в «1» и пытаясь удалить. Вы эффективно сокращаете путь каждый раз, и мне никогда не приходилось работать с более чем 4 или 5 каталогами, пока я наконец не смогу удалить всю структуру каталогов (что может или не может быть тем, что вы хотите). Вы также можете сделать это из последней дочерней папки и двигаться вверх или вниз.

В некоторых программах, включая Command Prompt ( cmd.exe ), вы можете обойти ограничение длины файла, добавив префикс полного пути \\.\ следующим образом:

Хитрость, которую я использовал, чтобы обойти ограничение длины «полный путь и имя файла» для перемещения, копирования или удаления чего-либо, заключается в том, чтобы сократить его путем «взлома» на полпути (или более) с использованием сопоставленной буквы диска, указывающей на папку путь вниз по пути .

так что у вас есть c: \ some \ long \ path . \ и \ foo \ bar \ folder \ oldfiles \ myoldfile.txt.

Затем сопоставьте произвольную букву диска где-нибудь вдоль пути, чтобы длина первого фрагмента пути составляла всего несколько символов. Обязательное условие — папка должна находиться в общей папке (которая может уже быть, если она находится на сервере, где я должен был это сделать), и если ее еще нет, выберите папку где-нибудь в пути и поделиться этим. В зависимости от среды и уровня паранойи, разрешите всем изменять доступ к общему ресурсу, если разрешения NTFS достаточно ограничены. Если хотите, просто разрешите изменять права только для своей учетной записи.

Теперь перейдите в общую папку или папку внутри нее и поделитесь ею или используйте командную строку следующим образом. Предположим, вы использовали общую папку «foo» как «fooshare», тогда вы можете сделать

и диск X: теперь указывает непосредственно на папку «папки» внутри этого общего ресурса, поэтому «x: \ oldfiles \ myoldfile.txt» теперь довольно короткий.

(«/ Persistent: no» означает, что это не переживет следующую перезагрузку и не запутает вас в дальнейшем. Не забудьте отключить общий доступ к своей папке, когда закончите.)

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

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

Слишком длинное имя файла в Windows (путь к источнику)

Вредная операционная система Windows не даёт удалить файл и кричит, что у него «Слишком длинный путь к источнику»?

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

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

Сразу хочу объяснить, почему появляется такое системное предупреждение и не удаётся произвести с файлом (папкой) элементарные действия копирования или удаления…

Читайте также:  Просмотр jpg файлов windows 10 стандартный

В самом уведомлении написан ответ на этот вопрос — файловая система Windows не поддерживает (не понимает) имена исходных файлов длиннее 255 символов.

Но имя файла или папки короткое, например, «Фото из отпуска»?

Дело в том, что «глупая» система воспринимает весь путь к файлу как его длинное имя. Если он (или папка) лежат где-то слишком глубоко в файловом менеджере, то это имя будет выглядеть примерно так…

Вот и собираются символы имени в банду из более 255 штук.

Как удалить неудаляемый файл или папку в таком случае? Очень просто — нужно сократить слишком длинное имя файла (пути) методом переименования вложенных друг в друга папок.

Как удалить файл с длинным именем

Покажу на своём примере, как удалить файл с длинным именем у которого, как пишет система, слишком длинный путь к источнику.

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

Вчера решил почистить компьютер от старых резервных копий сайта, а они не захотели удаляться. Как догадались — появилось предупреждение о слишком длинном пути к источнику…

Начиная с самой первой папки в этом длинном пути — переименовал несколько штук…

…и повторил попытку избавиться от файла с теперь коротким именем — он благополучно отправился в страну удалённых файлов.

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

Так просто решается проблема удаления файлов или папок с длинным именем. Это не единственный метод конечно.

Можно специальными программами удалять или через реестр — лишь показал ручной способ. У кого-то он займёт минуту всего, а у кого-то и полчаса — решать Вам, как сократить длинное имя файла в Windows (слишком длинный путь к источнику).

До новых полезных компьютерных программ и интересных приложений для Андроид.

ПОЛЕЗНОЕ ВИДЕО

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

Уверенный пользователь трех домашних ПК с многолетним опытом, «компьютерщик» для всех родственников, соседей и знакомых, в течении 11-ти лет автор более тысячи обзоров интересных и полезных программ для компьютера на собственном софтовом блоге OptimaKomp.RU

Дата публикации (обновления): 12.04.2021

Я только обозреваю программы!

Любые претензии — к их производителям!

Все комментарии проходят модерацию

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

Уже более 8-ми тысяч читателей подписалось — присоединяйтесь! 😉

Не удаляется папка с изображениями с Рабочего стола

Не удаляется папка с изображениями с Рабочего стола. При попытке удалить появляется сообщение:

Указано неправильное или слишком длинное имя файла. Задайте другое имя.

При попытке переименовать изображения выходит то же самое окно. Папка же переименовывается. Но удалить не получается.

Как быть? Как удалить эту злополучную папку?!

Ответы (10) 

Не удаляется папка с изображениями с Рабочего стола. При попытке удалить появляется сообщение:

Указано неправильное или слишком длинное имя файла. Задайте другое имя.

При попытке переименовать изображения выходит то же самое окно. Папка же переименовывается. Но удалить не получается.

Как быть? Как удалить эту злополучную папку?!

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

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

38 польз. нашли этот ответ полезным

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Читайте также:  Видеопроигрыватель для windows с ускорением

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

3 польз. нашли этот ответ полезным

Был ли этот ответ полезным?

К сожалению, это не помогло.

Отлично! Благодарим за отзыв.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв, он поможет улучшить наш сайт.

Насколько Вы удовлетворены этим ответом?

Благодарим за отзыв.

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

Попробуйте дать имя из одного символа, 5.

Чем чёрт не шутит, может там всего парочки символов для того, чтобы вписаться в ограничение не хватает.

Ну а если это не поможет, то внимательно читайте статью Базы Знаний KB-320081: https://support.microsoft.com/ru-ru/kb/320081

Причина 4. Количество символов в пути файла превышает максимально допустимое (MAX_PATH)

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

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

Для решения этой проблемы можно воспользоваться автоматически создаваемым именем файла в формате 8.3. Это решение может оказаться наиболее простым, если чрезмерная длина пути вызвана длинными названиями папок. Если путь 8.3 тоже слишком длинен или имена в формате 8.3 для тома неактивны, воспользуйтесь решением 2. Дополнительные сведения об отключении имен файлов в формате 8.3 в томах NTFS см. в следующей статье базы знаний Майкрософт:

Переименуйте папку, чтобы длина пути конечных файлов не превышала значение MAX_PATH. Начните этот процесс с корневой папки (или с другого удобного места) и переименуйте папки, укорачивая их имена. Если это не решит проблему (например, если глубина пути файла составляет более 128 папок), перейдите к решению 4.

Решение 3. Подключение диска к папке в структуре пути

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

В качестве примера рассмотрим путь со следующей структурой:

В этом пути общее количество символов превышает 255. Чтобы уменьшить его длину до 73 символов, подключите диск к вложенной папке 4.

Решение 4. Использование общего сетевого каталога, глубина которого равна глубине папки

Если решения 1, 2 и 3 не подходят или не устраняют проблему, создайте сетевой каталог с максимально возможной глубиной в дереве папок и затем переименуйте папки, открыв каталог.

Решение 5. Использование средства, способного проследить глубокий путь

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

Эта проблема может появляться при создании общего каталога на достаточно большой глубине структуры папок и последующем углублении структуры от этого каталога. Некоторые средства, действующие на локальном уровне дерева папок, не могут прослеживать все дерево, начиная с корневого каталога. Необходимо особым образом использовать эти средства, чтобы они могли пройти путь до общего каталога. (Способ прохождения всего дерева в подобной ситуации описан в документации к интерфейсу API «CreateFile».)

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

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

Оцените статью