Как удалить файл, путь к которому слишком длинный для удаления [дубликат]

Я работал с некоторым исходным кодом компьютерного зрения, который я нашел, и не осознавал, что он создает файл кеша с ОЧЕНЬ ДЛИННЫМ именем, и теперь я не могу удалить 2 из них.

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

В сообщении об ошибке говорится:

Путь к месту назначения слишком длинный.

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

Как я могу удалить файлы в этом случае?


Предполагая, что вы используете Windows:

Я всегда использую subst для создания ассоциации буквы диска с частью пути.

Затем переходите к новой букве диска и переходите к файлам с длинными именами. Теперь у вас должна быть возможность переименовывать/удалять/и т. Д. Их. Причина, по которой это работает, заключается в том, что сам путь больше не содержит> 255 символов.

  1. Запустить командную строку (права администратора не требуются)
  2. Используйте cd , чтобы перейти к папке, в которую хотите перейти (вы можете использовать tab для автозаполнения имен
  3. введите subst j:. для создания ассоциации букв диска. (вместо. вы также можете ввести весь путь)
  4. Теперь в проводнике у вас есть новая буква диска в Этот компьютер . Перейдите к нему и сделайте все, что вам нужно, с файлами .cache.
  5. Вернитесь в окно cmd и введите subst/ dj: , чтобы удалить диск или, как вариант, перезагрузить компьютер.

EDIT: я узнал трюк, который может немного сократить его. Из окна проводника, в котором вы возникли проблемы, щелкните адресную строку, чтобы ввести ее, затем введите cmd и нажмите Enter , чтобы запустить командную строку в этом месте, затем продолжите шаг 3. 🙂

EDIT2: Хорошо этот трюк можно расширить еще больше. Если вы находитесь в проводнике по правильному пути, просто введите subst j:. в адресной строке и нажмите Enter. Появится командное окно, выполните команду и снова закройте, и вот, в проводнике появится новый диск.


70

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

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

  • Откройте командную строку, запустив «CMD.EXE».
  • Перейдите к папке, содержащей файл.
  • Используйте команда DIR/X, которая отобразит короткие имена файлов.
  • Удалить с использованием короткого имени.

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

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

Поделиться
Улучшить этот ответ
ответил 17 мая ’14 в 06:31
  • 16
    Это лучший ответ, чем принятый на. — Бен 16 янв., 21:06
  • 3
    Выбранный ответ лучше, потому что с помощью этого метода вы можете удалять целые папки — mcont 28 мая 2015 г., 19:08
  • 2
    но в Windows 7 кажется, что DIR/x здесь вообще не меняет отображение … 🙁 — gumuruh 30 апр 2016, 17:16
  • 4
    Некоторые файловые системы NTFS НЕ имеют эквивалентов 8.3. Так что это уже не всегда работает. — Росс Прессер 31 дек. ’16 в 18:52
  • Del/S от CMD работал у меня даже с большим именем 8 ноября. — Джефф, 27 ноя. 2017, 18:34
  • | показать 2 дополнительных комментария

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

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

    • Откройте командную строку, запустив «CMD.EXE».
    • Перейдите к папке, содержащей файл.
    • Используйте команда DIR/X, которая отобразит короткие имена файлов.
    • Удалить с использованием короткого имени.

    т.е. если файл назван «verylongfilename.fil», короткое имя будет отображаться как «verylo ~ 1.fil», и вы можете удалить его, используя это имя.

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


    5

    Погуглил: удалите длинное имя файлаПервый результат

    Используйте Unlocker http://www.filehippo.com/ download_unlocker/

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

    Unlocker может помочь! Просто щелкните папку или файл правой кнопкой мыши и выберите Unlocker. Если папка или файл заблокированы, появится окно со списком шкафчиков. Просто нажмите «Разблокировать все», и все готово!

    Поделиться
    Улучшить этот ответ
    ответил 16 мая ’14 в 20:18
    • 1
      Я видел это, но не знал, безопасно ли использовать разблокировщик, поэтому проигнорировал его, попробую. РЕДАКТИРОВАТЬ: не сработало. он работает с другими файлами, но разблокировщик не отображается в раскрывающемся списке — Крис, 16 мая 2014, 20:20
    • Безусловно, самый простой способ сделать это, хотя для завершения может потребоваться перезагрузка. В Unlocker нет ничего плохого — пользуюсь им годами, и это очень полезная утилита. В случае файла или папки, путь к которым слишком длинный, он не найдет дескриптора блокировки, но после этого должен предложить опцию Удалить в раскрывающемся списке. — Стив Петтифер, 12 янв., 14:55
    • 1
      Работало безупречно — забавно, что это программное обеспечение установлено, но мне не пришло в голову использовать его в этой ситуации. — Даниэль Соколовски 03 янв., В 1:27
    • Не сработало для другой папки, в которую я скопировал папку с круговым соединением, но сработало полностью переименовать папку каждого уровня в один символ, например 1 , а затем удалить Это. — Дэниел Соколовски 03 янв., В 1:39
    • Это был единственный ответ, который у меня сработал (я использую Windows 10). Большое спасибо! — user26832 12 июля ’16 в 2:49
    | показать 1 дополнительный комментарий

    Googled: удалить длинное имя файлаПервый результат

    Используйте Unlocker http://www.filehippo.com/download_unlocker/

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

    Unlocker может помочь! Просто щелкните папку или файл правой кнопкой мыши и выберите Unlocker. Если папка или файл заблокированы, появится окно со списком шкафчиков.. Просто нажмите «Разблокировать все», и все готово!


    4

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

    Вероятно, лучше всего будет сопоставить диск с папкой, в которой находится файл (разрешение №3), затем войти через этот диск и удалить его .

    Поделиться
    Улучшить этот ответ
    ответ дан 16 мая ’14 в 23: 18
    • 1
      Я никогда раньше не понимал, что могу «сопоставить сетевой диск» с местом на моем собственном жестком диске. Это то, что я сделал в проводнике Windows. После перехода к диску я мог легко удалить папку и ее содержимое. Тот же принцип, что и у консольных решений, показанных выше, но это быстрое решение с графическим интерфейсом, которое мне было проще. — RandomHandle 16 июня ’16 в 0:47
    • Мне нравится «Решение 5. Используйте инструмент, который может проходить глубокие пути», как это иронично. Инструменты Windows не могут этого сделать, поэтому для этого можно также установить что-нибудь вроде cygwin. Вероятно, существуют другие консоли Windows, которые могут перемещаться по длинным путям к файлам. — Крейг 16 янв. ’20 в 15:28
    добавить комментарий |

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

    Вероятно, лучше всего будет сопоставить диск с папкой, в которой находится файл (разрешение №3), затем войти через этот диск и удалить его .

    Оцените статью
    Botgadget.ru
    Добавить комментарий