- Как исправить проблему «Имя файла слишком длинное» в Windows
- Почему длина имени файла является проблемой в Windows?
- Настройка Windows 10 на обработку длинных путей к файлам
- Параметры для Windows 10 Home
- Параметры для Windows 10 Pro или Enterprise
- Как временно исправить проблему с файлами?
- Легкое Исправление
- Менее простые исправления
- Удаление неудаляемых файлов и папок в Windows
- Встроенные средства
- Сторонние программы
- WinRAR
- FAR Manager
- Удаление файлов в FAR Manager
- Исправление имени файла/папки в FAR Manager
- Как удалить файл или папку с длинным названием, если Windows не даёт этого сделать!
- Как решить проблему удаления папки / файла с длинным названием пути!
Как исправить проблему «Имя файла слишком длинное» в Windows
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Параметры для Windows 10 Home
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:\Users\guymc — ваш пользовательский каталог.
Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду cd Documents .
Вы увидите быстрое изменение текущего каталога на C:\Users\guymc\Documents. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder , чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Удаление неудаляемых файлов и папок в Windows
В операционной системе Windows может возникнуть ситуация, когда при попытке удалить файл или папку, отображается сообщение:
Не удалось найти этот элемент
Его больше нет в «…». Проверьте расположение этого элемента и повторите попытку.
Такая ситуация чаще всего возникает из-за неправильного имени файла или папки (Windows имеет ряд ограничений на использование символов в именах файлов/папок), которое было изменено сторонними программы.
Встроенные средства
Так как по длинному имени удалить файл или папку Windows отказывается, можно попытаться выполнить операцию удаления по короткому имени через командную строку. Чтобы открыть окно командной строки в папке, в которой находятся неудаляемые файлы/папки, наберите «cmd» в строке пути проводника Windows и нажмите клавишу «Enter».
Чтобы узнать короткое имя файла/папки, наберите команду:
и нажмите клавишу «Enter».
Отобразится список файлов и папок в текущем расположении. Слева от длинных имен, отображаемых в проводнике Windows, будет выведена колонка с короткими именами.
Чтобы удалить файл по короткому имени, выполните команду «del» с его указанием через пробел:
Если файл доступен только для чтения, можно попытаться выполнить команду с ключом принудительного удаления «/f»:
Если нужно удалить папку вместе с подпапками и файлами, выполните следующую команду:
Сторонние программы
WinRAR
Одна из популярных программ для работы с архивами WinRAR в интерфейсе сжатия файлов/папок имеет опцию их удаления после упаковки. Можно воспользоваться данной функцией архиватора, а затем удалить и сам архив. Недостатком данного метода является то, что при удалении файлов/папок большого размера тратится много времени. Процесс можно ускорить, выбрав метод сжатия «Без сжатия».
FAR Manager
Консольный файловый менеджер FAR Manager позволяет работать с файлами и папками, содержащими неправильные для Windows имена. Он пользовался огромной популярностью в 90-годы во времена Windows 95/98. Последняя на момент написания статьи версия программы прекрасно работает в Windows 10. На официальном сайте присутствует сборка, не требующая установки (кнопка «Архив»).
В программе FAR Manager удалять файлы/папки можно как минимум тремя способами:
- F8 – в корзину;
- Shift+Del – минуя корзину;
- Alt+Del – уничтожение (wipe) файлов.
Удаление файлов в FAR Manager
Запустите FAR Manager, выберите нужный диск в левой панели с помощью комбинации клавиш «Alt+F1» («Alt+F2» для правой). Локализуйте неудаляемый файл или папку на диске. Для перемещения по папкам используйте клавиши со стрелками («Вверх», «Вниз») и «Enter», или мышь. Для удаления выбранного файла/папки нажмите одно из сочетаний клавиш, перечисленных в списке выше, и подтвердите действие клавишей «Enter».
Завершите работу приложения, нажав клавишу «F10» и подтвердив действие.
Исправление имени файла/папки в FAR Manager
Также в FAR Manager можно исправить имя файла или папки, чтобы они корректно работали в Windows и открывались в программах. Для этого на выделенном файле или папке нажмите клавишу «F6» (Переименование/Перемещение), сотрите путь, чтобы сработало только переименование без перемещения, наберите новое имя и нажмите клавишу «Enter».
Как удалить файл или папку с длинным названием, если Windows не даёт этого сделать!
В данной статье я хочу поделиться с вами парочкой способов решений одной проблемы в Windows, с которой уже несколько раз сталкивался сам. Проблема заключается в том, что Windows не даёт возможность удалить файл или папку с очень длинным названием, а конкретно — путь к которым слишком длинный и превышает размер в 260 символов. При попытке удалить такой файл или папку, вы получите сообщение: «Файловая система не поддерживает такие длинные имена исходных файлов». Такая ситуация может возникнуть, например, тогда, когда у вас сложная структура папок в виде большой «матрёшки». К примеру, в одной папке есть другая папка, в ней в свою очередь ещё одна папка, в ней ещё одна и так далее. И в самом конце этого пути, в последней папке лежит нужный файл. Так вот, если в сумме все названия этих папок по количеству символов превысят 260, то в итоге система не даст вам удалить одну из папок или сразу несколько в самом конце этой «матрёшки» 🙂 А если проблема конснулась файла, только вы его и открыть не сможете, переименовать или даже скопировать. Проще говоря, такой файл будет недоступен!
Вот пример структуры папок, которую я назвал «большой матрёшкой»:
Как видим, на диске «D» (Данные) есть исходная папка видео, в ней папка «Фильмы», в ней «Всё что нужно для просмотра фильмов» и далее таким же образом папка в папке. При этом многие папки имеют длинные названия названия — больше 10-15 символов, что в сумме даст объём символов во всех названиях больше 260. И если в конце такой «матрёшки» будет лежать файлик, то может получиться так, что работать с ним вы не сможете… Иногда сама система не даёт создать в конечном итоге папку или файл превышающий допустимое количество символов, но иногда почему-то такое происходит.
В начале для новичков поясню, что такое путь к файлу и папке. Путь – это так называемый адрес в компьютере, по которому располагается файл или папка. Например, файл под названием «Мой файл.txt» лежит на локальном диске D: в папке «Документы». Тогда путь к этому файлу будет выглядеть так:
Или, например, вот так будет выглядеть путь из примера выше, где я показал сложную структуру папок.
D:\Видео\Мои фильмы\Всё что нужно для просмотра фильмов\Программы для просмотра фильмов\Как открывать фильмы MP4\Список фильмов-примеров MP4\Перечень программ для открытия MP4\Что нельзя делать при открытии файлов MP4
Как видно, количество символов в пути выше велико и не исключено то, что в конце будет лежать файл или папка с длинным названием, который вы не сможете удалить.
При попытке удалить файл с длинным названием пути к нему, вы получите окно с ошибкой такого рода:
Я попробовал искусственно воссоздать проблему и вот что у меня получилось.
На диске «D» создал папку коротким именем «1» и в неё поместил файл с очень длинным названием. Вот пример:
Теперь я ту папку «1» переименовываю тоже в какое-то очень длинное название, например:
Что интересно, Windows свободно даёт переименовать папку вот в такое длинное название, несмотря на то, что количество символов в названии этой папки + названии файла уже превышает 260! Ну и после такого вот переименования папки в длинное название, я уже не могу удалить файл, расположенный в ней и получаю ошибку, показанную выше на изображении.
Или вот ещё пример… Я обслуживаю сайт Московского приборостроительного техникума, в котором ранее работал на полную ставку и иногда для тестирования каких-то новых «плюшек» для сайта использую копию сайта на своём компьютере. А то вдруг я что-то нехорошее установлю и сайт на хостинге умрёт? 🙂 А так я у себя на компьютере проверяю и если всё в порядке, то уже настраиваю на реальном сайте, расположенном на хостинге. Так вот, один раз я перенёс себе с хостинга весь сайт чтобы протестировать одну вещь и после того как закончил работать, решил удалить с компьютера папку с сайтом. Ведь весит она порядке 6 Гб. Сайт удалился весь, кроме ряда папок. Я начал смотреть и увидел, что не удалились те папки, которые содержали в себе файл с длиннющим названием в виде иероглифов:
Попытался ещё раз удалить этот файл с длинным названием и увидел туже ошибку, о которой выше упоминал. Попробовал переименовать, тоже не получается. Ну и пришлось думать над тем, как проблему решить.
Как решить проблему удаления папки / файла с длинным названием пути!
Я пробовал 2 способа как можно удалить папку / файл с длинным названием в пути к ним. Оба они технически не сложные (особенное 1-й), поэтому, думаю, сможет справиться новичок если выполнит всё точно также как я показываю:
Переименовать несколько папок в пути к файлу в более короткое название. Это самое простейшее решение, которое уже должно многим помочь! Предположим у вас в папке с очень длинным названием лежит файл, который вы не можете удалить, открыть, скопировать, да и вообще работать с ним не можете.
Тогда попробуйте просто переименовать папку, в которой лежит файл с длинным названием, например, в «1». Вернусь к одному из примеров выше. Вот имеется папка с длинным названием:
Переименовываю через стандартный проводник 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». Попробовал, нифига не получилось, поэтому и советовать такой способ не стал :)) Да и способ, даже если он у кого-то бы и заработал, честно говоря не прикольный, потому что приходится ставить дополнительную программу на свой компьютер ради удаления одного лишь файла или папки с длинным названием…
Я думаю, при возникновении подобной проблемы, которая у меня возникала ни один раз, вам обязательно поможет один из вышеописанных способов.
На этом всё! До скорых встреч в следующих статьях 😉
Сделай репост – выиграй ноутбук!
Каждый месяц 1 числа iBook.pro разыгрывает подарки.
- Нажми на одну из кнопок соц. сетей
- Получи персональный купон
- Выиграй ноутбук LENOVO или HP
—> LENOVO или HP от 40-50 т.р., 8-16ГБ DDR4, SSD, экран 15.6″, Windows 10
Спасибо, Алексей, что поделились вариантом решения, который помог вам.
Здравствуйте, Анатолий. Не указали самого главного: что за файлы, как выглядят и где находятся. Может здесь самый обычный способ удаления мог бы помочь, а если не помогает, то нужно понимать, какая появляется ошибка.
Не работает. У меня пфд на рабочем столе с длинным названием, выдает ошибку «Недопустимый параметр», вот как выглядит это в командной строке:
C:\Users\Сергей>Subst X: «C:\Users\Сергей\Desktop\Об утверждении Положения о департаменте по вопросам внутренней и информационной политики Кировской области (утратил силу в соответствии с постановлением Правительства Кировской области от 28.08.2014 № 277_588), Постановление Правительства Кировской об»
После нажатия на enter добавляется следующее:
Недопустимый параметр: «C:\Users\Сергей\Desktop\Об утверждении Положения о департаменте по вопросам внутренней и информационной политики Кировской области (утратил силу в соответствии с постановлением Правительства Кировской области от 28.08.2014 № 277_588), Постановление Правительства Кировской об»
Буду очень рада, если сможете помочь.
Здравствуйте! «Недопустимый параметр» скорее всего пишет консоль из-за того, что вы при создании виртуального диска указываете в том числе и название PDF файла. А нужно указывать только путь к папке, где находится длинный файл. Получается в вашем случае так будет:
Subst X: «C:\Users\Сергей\Desktop\»
Раз файл на рабочем столе. Вирт. диск должен создасться, после чего зайдите на него и пробуйте удалить сам файл.
Владимир Белев, благодарю за быстрый ответ! Попробовала, не помогло. На этот раз диск Х создался, но файл по-прежнему не удаляется.
Что делать теперь с новым диском, как его удалить, чтобы это не отразилось на системном диске?
Для удаления, введите там же в командной строке:
В вашем случае, вижу, не сам путь к файлу играет роль (он у вас короткий). А вот сам файл назван очень длинно. Еще один верный способ для удаления таких файлов или их переименования — открыть ваш диск через другую операционную систему, например, загрузиться с LiveCD какого-нибудь антивирусного продукта. У них есть обычно доступ к файлам системы, но уже через свою оболочку можно такие файлы удалить или переименовать.