Перейти к основному содержанию

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

Windows

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

win

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

win

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

win

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

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

win

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

subst Z: "B:\web\daily\web\drupal8\sites\internet-lab.ru\files\photo"

win

Весь этот длинный путь к директории с файлом сократился до одного диска Z.

win

Теперь ненужные файлы можно просто удалить с диска Z. ?

Виртуальный диск удаляется командой:

subst Z: /d

win

Добавка 1

В проводнике Windows 10 можно включить поддержку длинных путей:

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

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

Добавка 2

Можно попытаться удалить файл в пространстве имён файлов Win32:

del "\\?\C:\long-path\file.xxx"

Добавка 3

​Утилита  robocopy умеет работать с длинными путями:

mkdir dir_for_del
robocopy dir_for_del long_path_file_dir /MIR
rmdir dir_for_del
rmdir long_path_file_dir

Теги

 

Похожие материалы

Объединяем разделы на флешке

Иногда возникает ситуация, когда на флешке образуется несколько разделов. В Linux, например, это в порядке вещей. В Windows флешка начинает вести себя как несколько устройств. Через GUI объединить разделы не удаётся. Решаем проблему на месте подручными средствами.

Теги

BAT скрипт для резервного копирования папки

Набросал один маленький BAT скрипт для резервного копирование папки. Внесите свои данные и через scheduler настройте расписание резервного копирования.

Теги