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

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

Теги

 

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

Удалённо завершить сеанс пользователя Windows Server 2012 R2

Случилось так, что юзер на сервере запустил Wireshark и забыл. Через несколько дней оперативка кончилась и серверу Windows Server 2012 R2 стало плохо. Попытки зайти на сервер по RDP или консоль не увенчались успехом. Удалось удалённо подключиться к управлению компьютером и в логах узнать о проблемах с оперативкой. Стало понятно, что нужно сделать юзеру LOGOFF, чтобы все запущенные приложения завершили свою работу.

Теги

Windows 10 — вычислить хеш-сумму файла в командной строке

Вычислить хеш-сумму файла в Windows 10 можно с помощью встроенной утилиты certutil с параметром -hashfile. Команда позволяет создать и отобразить криптографический хэш файла.

Теги