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

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

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

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

Если вы хотите полностью удалить каталог и в нем есть файл с длинными именами, robocopy делает очень хорошую работу:

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

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

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

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

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

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

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

Итак, у вас есть c:somelongpath. ифубарпапкиoldfilesmyoldfile.формат txt.

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

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

и диск X: теперь указывает непосредственно на папку «папки» внутри этой папки, так что «x:oldfilesmyoldfile.txt » теперь довольно короткий.

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

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

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

kompsekret.ru

Если не удаляется файл с длинным именем и появляется ошибка, что файловая система не поддерживает такие длинные имена?

Длинный у нас получился заголовок получился, но он указывает на суть проблемы, которая будет здесь описана. Недавно я столкнулся с не очень хорошей ситуацией. Сортируя файлы на жёстком диске и очищая его от ненужного, я обнаружил, что один из файлов не удаляется, а появляется ошибка следующего содержания: «Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длиной пути или укажите более короткое имя файла и повторите попытку».

На самом деле проблема решается очень просто и быстро, и сейчас я опишу два метода её решения, а каким пользоваться решать только вам.

Что делать, если слишком длинный путь к источнику, как удалить такой файл?

При наличии файла, который не удаляется из-за длинного имени, решить проблему можно несколькими вариантами. Например, файл вложен в несколько каталогов, допустим, пять или даже десять папок, которые имеют названия по 10-20 знаков, то это и может быть причиной не удаления файла. Дело в том, что Windows не поддерживает любые файлы, в названиях которых больше 260 символов. Если этот предел превышен, то появится ошибка, которую я показал выше. Количество папок, имеющие свои названия и само имя файла в сумме должны давать менее 260 символов. В системе также есть одна особенность – при превышении этого ограничения мы всё-таки можем переименовывать папки. А это значит, что необходимо переименовать все папки на короткое имя, например, буква или цифра.

Еще по теме:   Добавление папок и файлов в Избранное в Windows

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

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

Открываем командную строку. Для этого нажимаем сочетание Win+R и вводим команду cmd. Можно нажать правой кнопкой мыши по меню Пуск (Либо сочетание клавиш Win+X) и выбрать там командную строку.

Теперь вы пишите такую команду, которая сделает для нас виртуальный диск:

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

Нужно выбрать такую букву диска, которая не занята другими. Системный раздел обычно указывается буков C, а второй раздел, как D или E, тогда выбираем любую другую.

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

У меня эта команда выглядит следующим образом:

subst Z: «C:UsersUserDesktop3333333333333333333333333333333333333333333333333333111»

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

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

subst БукваДиска /d

Используем Total Commander

В интернете я обнаружил метод, который позволяет удалить не удаляемые файлы при помощи утилиты Total Commander. Конечно, минус тут в том, что придётся устанавливать дополнительный софт на компьютер, а это не все захотят делать. В любом случае оставлю этот способ здесь, вдруг кто захочет воспользоваться.

Скачиваем и устанавливаем программу. Идём во вкладку «Файл» щелкаем по разделу «Изменить атрибуты». Появляется окошко, где убираем галки со всех атрибутов. Если вверху не стоит галочка напротив пункта «Обрабатывать содержимое каталогов» — выбираем. Теперь из этой же программы пробуем удалить файл с длинным именем.

Используем архиватор 7-Zip

Для этого дела нам понадобится архиватора 7-Zip. Нажимаем правой кнопкой мыши по начальному каталогу и направляем мышь на раздел «7-Zip» и выбираем пункт «Добавить к архиву».

Появляется окно, в котором вам нужно отметить только одну галочку «Удалять файлы после сжатия». Потом нажимаете ОК.

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

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

Мы в социальных сетях:

Не забывайте подписываться на RSS рассылку, а также вступайте в нашу группу Вконтакте. Вы можете стать читателем нашего твиттера и страницы в Google+.
А еще у нас есть страничка в Facebook, на которую вы тоже можете подписаться.

computerinfo.ru

Как удалить файл или папку с длинным названием, если Windows не даёт этого сделать!

В данной статье я хочу поделиться с вами парочкой способов решений одной проблемы в Windows, с которой уже несколько раз сталкивался сам. Проблема заключается в том, что Windows не даёт возможность удалить файл или папку с очень длинным названием, а конкретно — путь к которым слишком длинный и превышает размер в 260 символов. При попытке удалить такой файл или папку, вы получите сообщение: «Файловая система не поддерживает такие длинные имена исходных файлов». Такая ситуация может возникнуть, например, тогда, когда у вас сложная структура папок в виде большой «матрёшки». К примеру, в одной папке есть другая папка, в ней в свою очередь ещё одна папка, в ней ещё одна и так далее. И в самом конце этого пути, в последней папке лежит нужный файл. Так вот, если в сумме все названия этих папок по количеству символов превысят 260, то в итоге система не даст вам удалить одну из папок или сразу несколько в самом конце этой «матрёшки» 🙂 А если проблема конснулась файла, только вы его и открыть не сможете, переименовать или даже скопировать. Проще говоря, такой файл будет недоступен!

Еще по теме:   Как изменить значок кнопки меню «пуск» на Windows 7

Вот пример структуры папок, которую я назвал «большой матрёшкой»:

Как видим, на диске «D» (Данные) есть исходная папка видео, в ней папка «Фильмы», в ней «Всё что нужно для просмотра фильмов» и далее таким же образом папка в папке. При этом многие папки имеют длинные названия названия — больше 10-15 символов, что в сумме даст объём символов во всех названиях больше 260. И если в конце такой «матрёшки» будет лежать файлик, то может получиться так, что работать с ним вы не сможете… Иногда сама система не даёт создать в конечном итоге папку или файл превышающий допустимое количество символов, но иногда почему-то такое происходит.

В начале для новичков поясню, что такое путь к файлу и папке. Путь – это так называемый адрес в компьютере, по которому располагается файл или папка. Например, файл под названием «Мой файл.txt» лежит на локальном диске D: в папке «Документы». Тогда путь к этому файлу будет выглядеть так:

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

D:ВидеоМои фильмыВсё что нужно для просмотра фильмовПрограммы для просмотра фильмовКак открывать фильмы MP4Список фильмов-примеров MP4Перечень программ для открытия MP4Что нельзя делать при открытии файлов MP4

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

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

Я попробовал искусственно воссоздать проблему и вот что у меня получилось.

На диске «D» создал папку коротким именем «1» и в неё поместил файл с очень длинным названием. Вот пример:

Теперь я ту папку «1» переименовываю тоже в какое-то очень длинное название, например:

Что интересно, Windows свободно даёт переименовать папку вот в такое длинное название, несмотря на то, что количество символов в названии этой папки + названии файла уже превышает 260! Ну и после такого вот переименования папки в длинное название, я уже не могу удалить файл, расположенный в ней и получаю ошибку, показанную выше на изображении.

Или вот ещё пример… Я обслуживаю сайт Московского приборостроительного техникума, в котором ранее работал на полную ставку и иногда для тестирования каких-то новых «плюшек» для сайта использую копию сайта на своём компьютере. А то вдруг я что-то нехорошее установлю и сайт на хостинге умрёт? 🙂 А так я у себя на компьютере проверяю и если всё в порядке, то уже настраиваю на реальном сайте, расположенном на хостинге. Так вот, один раз я перенёс себе с хостинга весь сайт чтобы протестировать одну вещь и после того как закончил работать, решил удалить с компьютера папку с сайтом. Ведь весит она порядке 6 Гб. Сайт удалился весь, кроме ряда папок. Я начал смотреть и увидел, что не удалились те папки, которые содержали в себе файл с длиннющим названием в виде иероглифов:

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

Как решить проблему удаления папки / файла с длинным названием пути!

Я пробовал 2 способа как можно удалить папку / файл с длинным названием в пути к ним. Оба они технически не сложные (особенное 1-й), поэтому, думаю, сможет справиться новичок если выполнит всё точно также как я показываю:

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

Тогда попробуйте просто переименовать папку, в которой лежит файл с длинным названием, например, в «1». Вернусь к одному из примеров выше. Вот имеется папка с длинным названием:

Еще по теме:   Исправить ошибку 0x80070422 Windows 7 и 10

Переименовываю через стандартный проводник Windows название той папки в «1» и вот как теперь выглядит путь к файлу:

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

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

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

Способ заключается в том, что вы можете взять какую-то папку, например, в середине общего дерева и подключить её в виде виртуального диска. Виртуальный диск – это то, что напоминает нам обычный локальный диск, но который просто привязывается к определённой папке, например, для быстрого взаимодействия с ней.

Допустим у вас есть примерно такой вот длинный путь:

D:ВидеоМои фильмыВсё что нужно для просмотра фильмовПрограммы для просмотра фильмовКак открывать фильмы MP4Список фильмов-примеров MP4Перечень программ для открытия MP4Что нельзя делать при открытии файлов MP4

Предположим, что в самой последней папке у нас лежит какой-то проблемный файл, с которым мы не можем работать, поскольку путь к нему, как видим, весьма приличной длинны 🙂

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

Для подключения виртуального диска нам понадобится так называемая командная строка Windows, т.е. консоль.

Открыть её можно через поиск Windows. В поиске так и наберите «Командная строка»:

В окне командной строки нам нужно набрать команду:

subst буква_виртуального_диска «путь_к_папке»

Букву диска вы можете поставить любую, только чтобы она уже не была занята одним из локальных дисков. Например, у вас есть локальный диск C и D, а значит виртуальный диск вы уже не сможете обозвать той же буквой. Можно назвать, например, буквой «X», потому что она редко у кого используется в Windows.

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

D:ВидеоМои фильмыВсё что нужно для просмотра фильмовПрограммы для просмотра фильмов

Итак, итоговая команда в моём случае будет выглядеть вот так:

subst X: «D:ВидеоМои фильмыВсё что нужно для просмотра фильмовПрограммы для просмотра фильмов»

Чтобы выполнить введённую команду, нажимаем клавишу «Enter» на клавиатуре. Виртуальный диск будет создан.

Теперь перейдём в проводник Windows, зайдём в раздел «Этот компьютер» (или «Компьютер») и видим там созданный виртуальный диск:

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

Ранее путь к конечной папке выглядел так:

D:ВидеоМои фильмыВсё что нужно для просмотра фильмовПрограммы для просмотра фильмовКак открывать фильмы MP4Список фильмов-примеров MP4Перечень программ для открытия MP4Что нельзя делать при открытии файлов MP4

После подключения виртуального диска к папке «Программы для просмотра фильмов» путь к конечной папке выглядит так:

X:Как открывать фильмы MP4Список фильмов-примеров MP4Перечень программ для открытия MP4Что нельзя делать при открытии файлов MP4

Чувствуете разницу? Путь сокращён в два раза, поскольку буква диска сразу же направляет нас к папке в средине пути 🙂 А поскольку путь сильно сокращён, наверняка теперь вы сняли ограничение по символам в названиях файлов и папок и сможете удалить файл или папку с длинным названием!

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

Для этого снова откройте командную строку Windows и введите команду:

Subst буква_виртуального_диска /d

В моём случае буква диска «X», поэтому команда будет выглядеть вот так:

Когда я думал над вариантами решения проблемы, как удалить папку или файл с длинным названием, в интернете находил ещё такой вот вариант: удалить проблемный файл через программу «Total Commander». Попробовал, нифига не получилось, поэтому и советовать такой способ не стал :)) Да и способ, даже если он у кого-то бы и заработал, честно говоря не прикольный, потому что приходится ставить дополнительную программу на свой компьютер ради удаления одного лишь файла или папки с длинным названием…

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

На этом всё! До скорых встреч в следующих статьях 😉

serfery.ru

Поделиться:
Нет комментариев

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

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Рекомендуем посмотреть
Adblock
detector