Да, друзья. Можно сказать, что это довольно распространенная ситуация для пользователей Windows. Это явление возникает, когда мы копируем, вырезаем, перемещаем, удаляем, переименовываем... или делаем что-либо с папкой или файлом данных, длина пути которого в Windows превышает 255 символов (по теории Microsoft — 260 символов ), система будет отобразить ошибку, как показано ниже:
- Имена исходных файлов больше, чем поддерживается файловой системой. Прежде чем выполнять эту операцию, попробуйте перейти в местоположение с более коротким именем пути или переименовать его в более короткое имя.
Иллюстрация ошибки, возникающей в Windows 7
Или здесь:
Сообщения об ошибках, подобные этому, аналогичны:
-
Непредвиденная ошибка не позволяет вам удалить папку. Если вы продолжаете получать эту ошибку, вы можете использовать код ошибки для поиска помощи по этой проблеме.
-
Ошибка: 0x80004005: Неизвестная ошибка.
Для таких ошибок, даже если вы используете такие убийцы, как Folder Lock, Folder Guard, Unlocker... они не помогут. Даже утилите PowerShell всё равно приходится сдаваться:
- Remove-Item: указанный путь, имя файла или и то, и другое слишком длинны. Полное имя файла должно содержать менее 260 символов, а имя каталога — менее 248 символов.
Просто потому, что PowerShell не может поддерживать все файлы и пути к каталогам длиной более 255 символов, даже если сохраняемый раздел имеет формат NTFS. Однако не существует всех способов справиться с описанной выше ситуацией. В статье ниже LuckyTemplates познакомит вас с редким инструментом, который может помочь нам преодолеть описанную выше ситуацию. Это программное обеспечение, которое поддерживает Long Path Tool . Ссылка для загрузки последней версии находится здесь.
Как использовать инструмент «Длинный путь» довольно просто, посмотрите видеоурок ниже:
Но кроме этого, знаете ли вы, что у Microsoft все еще есть инструмент, который очень хорошо это поддерживает, а именно Robocopy . По сути, Robocopy работает следующим образом:
- При использовании с командой /MIR Robocopy создаст резервную копию всего каталога и текущего имени файла в другом разделе, а когда ваш корневой каталог станет пустым, система удалит текущие файлы и папки.
Как и на примере изображения выше, вы можете видеть, что в папке с игрой больше папок, включая множество других подпапок, поэтому общее количество символов, появляющихся на пути, превысило 260 символов, и в результате получается невозможно удалить, переместить, скопировать или переименовать эти папки. Или вот у меня есть эти 3 подпапки с той же структурой путей, что и выше. И, конечно же, Проводник Windows сейчас ничего не может сделать:
На диске C (или любом другом диске) я создаю новую пустую папку (назовите ее как хотите), затем использую следующую команду, чтобы скопировать всю папку внутри HomeDrives на новый адрес:
- robocopy /MIR c:\test E:\UserData\HomeDrives
После выполнения указанной выше команды вся папка внутри E:\UserData\HomeDrives была благополучно удалена, и остальная часть нашей работы значительно упростилась. Robocopy продемонстрировал свою чрезвычайно мощную способность обрабатывать, копировать, удалять и переименовывать папки со слишком длинными именами, превышающими стандарт Windows в 255 символов, при этом вам при этом не придется использовать инструменты внешней поддержки.
Видео-демонстрация того, как использовать Robocopy для удаления файлов и папок со слишком длинными именами в Windows:
Как удалить папку с длинным именем с помощью инструмента командной строки
В дополнение к двум вышеуказанным способам удаление папок с длинными именами с помощью инструмента командной строки представляет собой простой трехэтапный процесс. Хитрость заключается в том, чтобы автоматически сгенерировать более короткое имя и использовать его.
- Откройте командную строку в папке, содержащей файл.
- Используйте команду DOS , чтобы получить короткое имя файла в формате файла 8.3.
- Теперь используйте команду DEL в DOS, чтобы удалить файл.
Давайте посмотрим, как работает этот инструмент на примере ниже с длинным именем файла в каталоге.
Откройте проводник и найдите файлы в папке. Нажмите Shift , затем щелкните правой кнопкой мыши в пустой области. Выберите Открыть командное окно здесь . Появится окно командной строки с указанием пути к папке, к которой вы обращаетесь.
Введите команду DOS, чтобы просмотреть папки и файлы в текущем каталоге. Команда dir является внутренней командой и доступна во всех операционных системах Microsoft. Атрибут /X отображает короткие имена для имен файлов, которые не имеют формата 8.3. Вы также можете использовать DIR /X /P для приостановки и переключения с одного экрана на другой, когда файлов для проверки слишком много.
На снимке экрана ниже показан текстовый файл, который мы хотим удалить, с его отредактированным коротким именем.
Итак, вы можете увидеть, как мы используем DOS для автоматического создания более короткого имени файла. Теперь просто используйте простую команду DEL для короткого имени файла, чтобы удалить файл.
Урок здесь: не игнорируйте DOS. Существует множество полезных команд DOS, которые помогут сэкономить ваше время.
Удачи!