Указано слишком длинное имя файла как открыть
Указано слишком длинное имя файла как открыть
Сообщение об ошибке при открытии Office с длинным именем папки
Дополнительные Microsoft Office 2000 см. в 325573.
Симптомы
При открытии определенных файлов в Microsoft Office Excel 2007 вы получаете следующее сообщение об ошибке, если файлы находятся в папках с длинными именами:
При открытии определенных файлов, которые находятся в папках с длинными именами папок в Microsoft Word 2002, Microsoft PowerPoint 2002, Microsoft Access 2002, Microsoft Excel 2002 и Microsoft Outlook 2002, вы получаете одно из следующих сообщений об ошибках:
Недопустимое имя файла.
Невозможно получить доступ к файлу.
Введенный путь слишком длинный. Введите более короткий путь.
Не удалось найти имя файла. Проверьте орфографию имени файла и проверьте правильность расположения файла.
Причина
Это происходит из-за того, что наборы Office 2007, Microsoft Office 2003 и Microsoft Office XP имеют ограничение в 256 символов для имен папок.
Обходной путь
Чтобы устранить эту проблему, убедитесь, что путь к файлу содержит менее 256 символов. Для этого используйте один из следующих методов:
Дополнительная информация
При сохранении или открытии файла, соответствующего следующим ситуациям, вы также получаете сообщения об ошибках, описанные в разделе «Симптомы» этой статьи.
Общая длина пути и имени файла, включая расширение имени файла, превышает 255 символов.
Общая длина пути и имени файла, включая расширение имени файла, превышает 256 символов.
Общая длина пути и имени файла, включая расширение имени файла, превышает 249 символов.
Общая длина пути и имени файла, включая расширение имени файла, превышает 218 символов.
Общая длина пути и имени файла, включая расширение имени файла, превышает 255 символов.
Это ограничение включает три символа, представляющих диск, символы в именах папок, символ обратной косой черты между папками и символы в имени файла.
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.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:\Users\guymc — ваш пользовательский каталог.
Вы увидите быстрое изменение текущего каталога на 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 может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Имя файла или расширение слишком длинное
Имя файла или расширение слишком длинное [FIX]
Исправить – ERROR_FILENAME_EXCED_RANGE
Решение 1. Изменить имя каталога
Пользователи сообщили, что не смогли переместить или получить доступ к проблемным файлам из-за этой ошибки. Для решения проблемы вам необходимо переименовать проблемный файл или изменить его путь. В большинстве случаев вы не можете переименовать файл, но вы можете решить проблему, переименовав один из каталогов, в которых находится этот файл.
Для этого просто переименуйте одну или несколько папок, которые ведут к этому файлу, и проблема должна быть решена. Переименовывая папки, вы становитесь ниже предела количества символов и сможете снова получить доступ к своим файлам.
Решение 2 – Создайте сетевой диск
Вы также можете временно устранить эту проблему, создав сетевой диск. Прежде чем вы сможете использовать это решение, вам нужно поделиться своей папкой. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
Как только папка открыта для общего доступа, вам необходимо создать сетевой диск. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
Это относительно простой обходной путь, но если вы не знакомы с сетевыми папками и общим доступом, у вас могут возникнуть проблемы с выполнением этого решения. После создания сетевого диска вы можете легко переместить проблемные файлы в другую папку, чтобы устранить эту проблему.
Решение 3 – Используйте Теракопию
Решение 4. Скопируйте или переместите эти файлы в другую папку
В большинстве случаев вы не сможете открыть файлы из-за этой ошибки, но вы можете переместить их. Просто найдите проблемные файлы и переместите их в другой каталог. Вы даже можете создать новый каталог в корневой папке, например, C: или D: и скопировать туда свои файлы. После этого вы сможете получить доступ к скопированным файлам без каких-либо проблем.
Решение 5. Добавьте эти файлы в архив
Если вы получаете эту ошибку при попытке получить доступ к определенным файлам, вы можете исправить ее с помощью этого обходного пути. Вам просто нужно добавить проблемные файлы в архив, и вы сможете легко их перемещать. Кроме того, вы также можете извлечь файлы в другое место для доступа к ним.
Некоторые пользователи также рекомендуют использовать инструмент 7-zip для решения этой проблемы. По их словам, вы можете использовать это приложение для создания zip-архива, но вы также можете использовать его для удаления проблемных файлов с вашего компьютера.
Решение 6. Используйте командную строку
Если вы опытный пользователь, вы можете легко решить эту проблему с помощью командной строки. С помощью этого инструмента вы можете назначить путь к папке с буквой диска. Используя этот метод, вы можете использовать только что созданную букву диска и получить доступ к проблемным файлам. Для этого выполните следующие действия:
Помните, что это решение предназначено для опытных пользователей, поэтому, если вы не знакомы с командной строкой, вы не сможете выполнить ее должным образом. Также важно отметить, что нам не удалось увидеть новые диски на нашем ПК, но мы смогли получить к ним доступ с помощью командной строки. Если вам нужно удалить только что созданный диск, вы можете сделать это, введя subst x: /d в командной строке.
Решение 7 – Используйте Total Commander
Несколько пользователей сообщили, что удалили проблемные файлы с помощью GoodSync Explorer, так что вы также можете попробовать этот инструмент.
Решение 8 – Используйте Long Path Tool
Несколько пользователей сообщили, что вы можете легко решить эту проблему, используя Long Path Tool. Это бесплатное приложение, которое позволит вам переименовывать, копировать или удалять проблемные файлы. Используя этот инструмент, вы сможете переименовывать длинные файлы, удалять их или легко перемещать в другое место. Приложение является бесплатным и полностью переносимым, поэтому вы можете попробовать его.
Кроме того, вы можете попробовать использовать такие инструменты, как Long Path Fixer, Long Path Eraser Free или Ant Renamer. Все эти инструменты бесплатны, и вы можете использовать их для переименования проблемных файлов или папок и получения к ним доступа.
Решение 9. Используйте командную строку для переименования файлов или папок
Прежде чем вы сможете переименовать ваши файлы, вам необходимо выявить скрытые файлы и папки и расширения файлов. Вы можете легко это сделать, выполнив следующие действия:
После этого вам нужно запустить командную строку и использовать ее для переименования проблемных файлов. Для этого выполните следующие простые шаги:
Если у вас есть несколько файлов, к которым вы не можете получить доступ, вы можете попробовать изменить имя папки. Для этого сделайте следующее:
Это немного продвинутое решение, поэтому оно может не подойти для простых пользователей. Если вы не знакомы с командной строкой, может потребоваться несколько попыток для правильного переименования файлов или папок.
Решение 10. Загрузите файл в Dropbox и переименуйте его
Это простой обходной путь, и он идеально подходит, если вы не можете получить доступ к паре небольших файлов. Вы также можете использовать это решение с файлами большего размера, но, поскольку оно требует загрузки файлов в Dropbox, лучше использовать его с файлами меньшего размера.
Чтобы устранить проблему, просто найдите проблемный файл и загрузите его в Dropbox. После загрузки файла откройте хранилище Dropbox, переименуйте файл и загрузите его снова. Если вы используете автоматическую синхронизацию для Dropbox, файл будет автоматически загружен на ваш компьютер, и вы сможете получить к нему доступ без каких-либо проблем.
Решение 11. Внесение изменений в групповую политику
По словам пользователей, Windows 10 принесла некоторые улучшения, связанные с ограничением символов пути. В предыдущих версиях Windows пользователи были ограничены 260 символами для путей, но кажется, что это ограничение можно снять в Windows 10. Чтобы изменить ограничение пути, необходимо выполнить следующие действия:
Если вы не можете получить доступ к редактору групповой политики в своей версии Windows, вы также можете снять это ограничение с помощью редактора реестра. Для этого выполните следующие действия:
Если вы не хотите редактировать реестр вручную, вы можете использовать этот zip-файл и использовать файлы внутри, чтобы мгновенно применить изменения. Просто запустите файл Удалить файл 260 Path Path Limit.reg из архива, чтобы снять ограничения пути к файлу. Вы также можете запустить другой файл из архива, чтобы снова включить ограничение.
Несмотря на метод, который вы решили использовать, включение этой опции позволит вам без проблем получить доступ к любому пути к файлу, поэтому обязательно попробуйте это решение.
Файловая система не поддерживает такие длинные имена: как убрать ошибку
Ошибка выглядит в виде небольшого окна с описанием проблемы, которое всплывает при попытке удалить/копировать/запустить определенный файл. Убрать ее можно переименованием ряда папок, отключением ограничения числа символов в имени или при помощи сторонних программ. Рассмотрим каждый способ детально, чтобы вы знали, как решить проблему своими силами.
Почему возникает ошибка «файловая система не поддерживает такие длинные имена»
Во всех версиях ОС Windows у каждого файла есть свое имя. Но обычно все данные не хранятся в одном месте, а распределяются (систематизируются) по папкам, чтобы их легче было найти. Внутри одной папки, например «Изображения», мы создаем подпапки «Природа», «Семья», «Работа» и так далее. В разделе «Семья» могут быть дополнительные папки «Отдых на море 2021», «Свадьба», «Шашлыки на даче» и прочее.
Когда происходит обращение к файлу (для удаления, воспроизведения или копирования), файловая система воспринимает весь путь к нему (названия всех папок), как одно имя. Это можно увидеть в строке Проводника.
Названия складываются вместе с названием конечного файла. В операционной системе Windows 7, 8, 10 установлено ограничение на общую длину такого имени файла в 255 символов. Это сделано для легкого взаимодействия с другими ОС, если понадобится объединить их в общую сеть.
В Windows XP такого ограничения нет. XP имеет файловую систему FAT32, у которой есть ограничение на размер файла 4 ГБ. Большой фильм в формате 8К на такой ОС уже не сохранить. Последующие версии Windows имеют систему NTFS, позволяющую загружать файлы любого размера.
При превышении ограничения символов имени в Windows возникает ошибка: файловая система не может работать с такими длинными названиями. В результате, если это фото, документ, видео или музыка, файл нельзя открыть, удалить или скопировать.
Более подробно прочитать обо всех ограничениях относительно имен в ОС Windows можно здесь.
Как решить проблему
Поскольку при обращении к файлу система воспринимает путь к нему как имя, его не получится убрать из глубокой папки и сохранить на рабочем столе для легкого доступа. Всегда будет возникать эта ошибка, поэтому решение проблемы кроется в изменении длины пути. Сделать это можно несколькими способами.
Переименование
Помня об ограничении длины в 255 символов, нужно сократить названия некоторых папок, через которые пролегает путь к файлу. Самый простой вариант – задать им числовые имена вместо слов. Например: «1», «2», «3».
Если в этих папках хранится другая важная информация, а не один файл, нужны понятные имена, по которым вы сможете ориентироваться в будущем.
Попробуйте сократить названия, используя несколько букв, а не целые слова. Например: вместо «фотографии» – «фото», вместо «оборудование» – «оборуд». Задайте и конечному файлу более короткое имя. После этого повторите попытку открытия или удаления.
Выключение ограничения
Ограничение в 255 символов можно просто отключить в реестре ОС, если не планируется взаимодействие в другими компьютерами по общей сети. Для этого проделайте следующее:
Чтобы было лучше видно полное имя файлов в реестре, мышкой сдвиньте границу в таблице названий влево, предоставив больше места.
После этого можно создавать хоть 20 папок, вложенных друг в друга – все файлы будут откликаться адекватно, поскольку исчезнет ограничение.
Unlocker
Это бесплатное приложение, при помощи которого можно работать с файлами, заблокированными ОС. Программа позволяет напрямую удалить или скопировать и переместить файл, не учитывая размер разрешенного имени.
При удалении с помощью Unlocker файл исчезнет, минуя корзину. Восстановить его будет невозможно.
Total Commander
Программа имеет закрытый исходный код и выполняет роль файлового менеджера. Она создает собственную «среду» внутри операционной системы и предоставляет путь к файлам, закрытый для штатных средств Windows. Скачайте программу, ознакомьтесь со структурным деревом каталога, найдите свой файл в привычном месте или через поиск.
В Total Commander поиск более расширенный, чем в Windows. Программа может найти файл не только по названию, но даже по часто встречающимся словам внутри документа.
Архиватор 7-Zip
Программа 7-Zip предназначена для архивирования файлов, но у нее есть встроенный менеджер. Он не учитывает длину пути к конечному файлу, поэтому открывает доступ к работе с теми данными, которые не поддерживаются штатной файловой системой.
Скачайте архиватор, запустите менеджер. В открывшемся окне удаляйте, копируйте файлы с длинным путем или создавайте новые папки и помещайте туда нужные фото, музыку, видео. В директории это будет отображаться корректно.
Создавая новые папки с 20–30 ступенчатой структурной иерархией и помещая туда содержимое, можно надежно спрятать важные документы, поскольку при помощи обычного Проводника Windows их не открыть.
Сокращение пути через ссылку
У каждой папки в свойствах есть указатель расположения в разделе «Общее». При обращении к папке задействуется этот путь. Сократить его можно, заменив укороченной ссылкой.
Система создаст короткую ссылку и будет обращаться к ней, а не к длинному полному названию. После этого можно создавать новые файлы – короткий путь будет автоматически привязываться к ним.
Подводим итоги
Появление окна ошибки при попытке обращения к файлу – неприятное явление, но проблему можно решить без помощи мастера. Попробуйте переименовать некоторые папки, воспользоваться менеджером или отключить ограничение в реестре.
А теперь можете закрепить информацию, посмотрев ролик о том, как исправить ошибку слишком длинного пути к файлу:
Как исправить проблему «имя файла слишком длинное» в Windows
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее легким, гарантированно исправным исправлениям.
Почему длина имени файла даже проблема в Windows?
Существует длинная история длин файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Как мы это исправим?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
C: User guymc Documents Мои резюме резюме с именами на долгие годы, когда возникают проблемы, и они становятся частью нашего творчества.
Понятно, кто в этом случае преступник. Найдите файл в проводнике Windows или в проводнике, как он вызывается в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по какой-либо причине.
Следующие решения помогут вам. Их не сложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, в которых количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
C: Users guymc Documents Это Is Точно Параметр Precise Directory Путь Это I Потребность К Have К Keep My Files Рассортировано В А Маннер Это ДАЕТ Sense К Me Так Lets Притворись В этом Is An Actual Filepath что вы Might Также Have на Ваш Windows компьютер А не Over Think It Document.docx
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Откройте PowerShell. Если вы еще не использовали PowerShell, прочитайте нашу статью «Использование PowerShell для домашних пользователей — Руководство для начинающих». Вы можете сделать следующие шаги, не читая статью, хотя.
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C: Users guymc — ваш пользовательский каталог.
Каталог с именем This находится внутри каталога Documents. Чтобы перейти в каталог Documents, мы используем команду DOS cd Documents.
Вы увидите быстрое изменение C: Users guymc Documents. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Командлет поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder, чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем командлет Remove-Item.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно. Вы можете попробовать методы в Как восстановить случайно удаленные файлы, но не ожидайте многого.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Заставьте 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 на компьютере и на уровне пользователей.
У нас есть несколько статей об использовании групповой политики для таких вещей, как отключение или включение параметров Internet Explorer или добавление сообщения на экран входа в систему.
Откройте редактор групповой политики, перейдя в меню «Пуск» и введя gpedit. Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера> Административные шаблоны> Система> Файловая система. Там вы увидите политику «Включить длинные пути Win32».
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК» для подтверждения изменения.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Это оно
Есть несколько других способов обойти длинные имена файлов и пути к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Указано слишком длинное имя файла как открыть
Вопрос
Недавно нашел статью, в которой сказано, что в В Windows 10 Anniversary сняли ограничение на длину путей и имен файлов в 260 символов https://windowstips.ru/notes/24858
Нашел другую статью, в которой сказано, что данная настройка переместилась с раздела NTFS в раздел Файловая система https://www.tenforums.com/tutorials/51704-enable-disable-win32-long-paths-windows-10-a.html
Включил, как указано в статье, в данной настройке поддержку длинных имен, перезагрузился.
Но все равно не удается как переместить файлы в папки, которые располагаются по длинным путям, так и переименовать файлы и папки, которые имеют длинные пути.
Для копирования в нужную папку использую FastCopy или TeraCopy, для переименования и перемещения можно использовать еще Total Commander, но я им не пользуюсь, его интерфейс делает больно моим глазам.
К слову, с удалением слишком файлов с длинными именами как раз проблем особых и не возникло (может из-за включенной настройки Enable NTFS long paths (Включить длинные пути Win32, у меня русскоязычная локализация)
Ну и опционально, какие еще есть программы для переименование файлов с длинными именами кроме файловых менеджеров?
Указано слишком длинное имя файла как открыть
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.
Описание проблемы длинных путей
Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \\?\.
Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \\?\, например так:
Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:
Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».
Вот ошибка при извлечении архива в сетевую папку:
Методы снимающие ограничения на длину пути в Windows
Нюансы длинных путей в приложениях
Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.
Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:
Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику
Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \\?\, то групповые политики вам это помогут.
Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.
Далее идем по пути:
Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.
Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.
Включение поддержки длинных путей через реестр
Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:
тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.
Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.
Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:
Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.
Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.
Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
Запустите командную строку в режиме администратора и введите:
Обход ограничений длинных путей через 7zFM
Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.
Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.
Для создания новой папки нажмите клавишу F7.
Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.
В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.
Проверяем, что директория доступна через проводник Windows.
Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.
Как обойти ограничение длинных путей через символьную ссылку
Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:
Нам поможет команда mklink, где ключ /D создает ссылку на каталог
Как переименовать файл с длинным именем
Длинный у нас получился заголовок получился, но он указывает на суть проблемы, которая будет здесь описана. Недавно я столкнулся с не очень хорошей ситуацией. Сортируя файлы на жёстком диске и очищая его от ненужного, я обнаружил, что один из файлов не удаляется, а появляется ошибка следующего содержания: «Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длиной пути или укажите более короткое имя файла и повторите попытку».
На самом деле проблема решается очень просто и быстро, и сейчас я опишу два метода её решения, а каким пользоваться решать только вам.
Что делать, если слишком длинный путь к источнику, как удалить такой файл?
При наличии файла, который не удаляется из-за длинного имени, решить проблему можно несколькими вариантами. Например, файл вложен в несколько каталогов, допустим, пять или даже десять папок, которые имеют названия по 10-20 знаков, то это и может быть причиной не удаления файла. Дело в том, что Windows не поддерживает любые файлы, в названиях которых больше 260 символов. Если этот предел превышен, то появится ошибка, которую я показал выше. Количество папок, имеющие свои названия и само имя файла в сумме должны давать менее 260 символов. В системе также есть одна особенность – при превышении этого ограничения мы всё-таки можем переименовывать папки. А это значит, что необходимо переименовать все папки на короткое имя, например, буква или цифра.
Такая проблема может появиться не только из-за того, что вы дали такое длинное название. У меня это произошло тогда, когда я решил загрузить себе файлы сайты с сервера и кое-что сделать. Так как файлы уже были не нужны, я удалил весь каталог с файлами сайта, но как оказалось он содержал файл с очень длинным именем, плюс названия папок и это не дало мне всё это удалить.
Метод второй поможет, если с первым не удалось. Дело в том, что не все папки, ведущие к файлу с длинным именем, могут переименовываться и будет вылетать всё так же ошибка файловой системы. Тогда вы можете создать виртуальный диск, используя любую из вложенных папок, ведущих к не удаляемому файлу. Сейчас я покажу, как это сделать.
Открываем командную строку. Для этого нажимаем сочетание Win+R и вводим команду cmd. Можно нажать правой кнопкой мыши по меню Пуск (Либо сочетание клавиш Win+X) и выбрать там командную строку.
Теперь вы пишите такую команду, которая сделает для нас виртуальный диск:
subst буква-диска «путь к файлу или папке – это и будет диском» |
Нужно выбрать такую букву диска, которая не занята другими. Системный раздел обычно указывается буков C, а второй раздел, как D или E, тогда выбираем любую другую.
Путь к папке нужно указывать от диска. Если у вас это вызывает сложность, то откройте ту папку, которая будет выступать в качестве виртуального диска и в проводнике вверху скопируйте путь до неё.
У меня эта команда выглядит следующим образом:
subst Z: «C:UsersUserDesktop3333333333333333333333333333333333333333333333333333111» |
Когда мы зайдем в Мой компьютер, то там вы должны увидеть диск, с той буквой, которую мы ей присвоили из командной строки. Таким образом, путь к файлу сократиться практически в два раза, а это значит, что общая длинна символов может составлять менее 260 знаков. Теперь вы можете попробовать избавиться от неудаляемого.
Для того, чтобы виртуальный диск удалить нужно ввести команду:
subst БукваДиска /d |
Используем Total Commander
В интернете я обнаружил метод, который позволяет удалить не удаляемые файлы при помощи утилиты Total Commander. Конечно, минус тут в том, что придётся устанавливать дополнительный софт на компьютер, а это не все захотят делать. В любом случае оставлю этот способ здесь, вдруг кто захочет воспользоваться.
Скачиваем и устанавливаем программу. Идём во вкладку «Файл» щелкаем по разделу «Изменить атрибуты». Появляется окошко, где убираем галки со всех атрибутов. Если вверху не стоит галочка напротив пункта «Обрабатывать содержимое каталогов» — выбираем. Теперь из этой же программы пробуем удалить файл с длинным именем.
Используем архиватор 7-Zip
Для этого дела нам понадобится архиватора 7-Zip. Нажимаем правой кнопкой мыши по начальному каталогу и направляем мышь на раздел «7-Zip» и выбираем пункт «Добавить к архиву».
Появляется окно, в котором вам нужно отметить только одну галочку «Удалять файлы после сжатия». Потом нажимаете ОК.
На рабочем столе создаётся архив всего этого добра, а папки с длинным файлом просто удаляются. Сам же архив вы можете удалить без проблем.
Вот такие способы по исправлению ошибки не удаляемого файла мы рассмотрели. Может быть у вас есть еще варианты, как можно это сделать?
В данной статье я хочу поделиться с вами парочкой способов решений одной проблемы в 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». Попробовал, нифига не получилось, поэтому и советовать такой способ не стал :)) Да и способ, даже если он у кого-то бы и заработал, честно говоря не прикольный, потому что приходится ставить дополнительную программу на свой компьютер ради удаления одного лишь файла или папки с длинным названием…
Я думаю, при возникновении подобной проблемы, которая у меня возникала ни один раз, вам обязательно поможет один из вышеописанных способов.
На этом всё! До скорых встреч в следующих статьях 😉
Есть файл в архиве
Нужно заменить в нем одну строчку, но windows не дает его открыть, ругаясь на длину файла.
Переименовывать файл пробывал, назад потом не получается.
Варианты:
1. Переместить архив и temp архиватора в папку с названием покороче. В крайнем случае в корень диска.
2. Использовать другой архиватор (пробовать разные, или собрать 7zip с параметром DWIN_LONG_PATH, например)
3. Использовать другую ОС
Возможно вас порадуют также другие игрушки:
zip-бомбы, рекурсивные архивы и RarJpeg.
Слишком длинное имя файла в Windows (путь к источнику)
Вредная операционная система Windows не даёт удалить файл и кричит, что у него «Слишком длинный путь к источнику»?
В этой статье расскажу, как легко и просто, без каких-либо программ, победить длинное имя файла в Windows сократив его.
Слишком длинный путь к источнику — почему?
Сразу хочу объяснить, почему появляется такое системное предупреждение и не удаётся произвести с файлом (папкой) элементарные действия копирования или удаления…
В самом уведомлении написан ответ на этот вопрос — файловая система Windows не поддерживает (не понимает) имена исходных файлов длиннее 255 символов.
Но имя файла или папки короткое, например, «Фото из отпуска»?
Дело в том, что «глупая» система воспринимает весь путь к файлу как его длинное имя. Если он (или папка) лежат где-то слишком глубоко в файловом менеджере, то это имя будет выглядеть примерно так…
Вот и собираются символы имени в банду из более 255 штук.
Как удалить неудаляемый файл или папку в таком случае? Очень просто — нужно сократить слишком длинное имя файла (пути) методом переименования вложенных друг в друга папок.
Как удалить файл с длинным именем
Покажу на своём примере, как удалить файл с длинным именем у которого, как пишет система, слишком длинный путь к источнику.
Читайте также на сайте:
Вчера решил почистить компьютер от старых резервных копий сайта, а они не захотели удаляться. Как догадались — появилось предупреждение о слишком длинном пути к источнику…
Начиная с самой первой папки в этом длинном пути — переименовал несколько штук…
…и повторил попытку избавиться от файла с теперь коротким именем — он благополучно отправился в страну удалённых файлов.
Естественно, что новое имя файла (папки) должно состоять из одного символа или цифры, как у меня в примере.
Так просто решается проблема удаления файлов или папок с длинным именем. Это не единственный метод конечно.
Можно специальными программами удалять или через реестр — лишь показал ручной способ. У кого-то он займёт минуту всего, а у кого-то и полчаса — решать Вам, как сократить длинное имя файла в Windows (слишком длинный путь к источнику).
До новых полезных компьютерных программ и интересных приложений для Андроид.
ПОЛЕЗНОЕ ВИДЕО
Уверенный пользователь трех домашних ПК с многолетним опытом, «компьютерщик» для всех родственников, соседей и знакомых, в течении 12-ти лет автор более тысячи обзоров интересных и полезных программ для компьютера на собственном софтовом блоге OptimaKomp.RU
Как открыть файл с длинным именем. Имя файла или слишком длинный путь к источнику
Длинный у нас получился заголовок получился, но он указывает на суть проблемы, которая будет здесь описана. Недавно я столкнулся с не очень хорошей ситуацией. Сортируя на жёстком диске и очищая его от ненужного, я обнаружил, что один из файлов не удаляется, а появляется ошибка следующего содержания: «Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длиной пути или укажите более короткое имя файла и повторите попытку».
Я не только не мог удалить файл, но еще и изменить имя на более короткое имя тоже не удалось. Для многих это показалось бы тупиком, ведь получается, что файл не удаляем.
На самом деле проблема решается очень просто и быстро, и сейчас я опишу два метода её решения, а каким пользоваться решать только вам.
Что делать, если слишком длинный путь к источнику, как удалить такой файл?
При наличии файла, который не удаляется из-за длинного имени, решить проблему можно несколькими вариантами. Например, файл вложен в несколько каталогов, допустим, пять или даже десять папок, которые имеют названия по 10-20 знаков, то это и может быть причиной не удаления файла. Дело в том, что Windows не поддерживает любые файлы, в названиях которых больше 260 символов. Если этот предел превышен, то появится ошибка, которую я показал выше. Количество папок, имеющие свои названия и само имя файла в сумме должны давать менее 260 символов. В системе также есть одна особенность – при превышении этого ограничения мы всё-таки можем переименовывать папки. А это значит, что необходимо переименовать все папки на короткое имя, например, буква или цифра.
Такая проблема может появиться не только из-за того, что вы дали такое длинное название. У меня это произошло тогда, когда я решил загрузить себе файлы сайты с сервера и кое-что сделать. Так как файлы уже были не нужны, я удалил весь каталог с файлами сайта, но как оказалось он содержал файл с очень длинным именем, плюс названия папок и это не дало мне всё это удалить.
Метод второй поможет, если с первым не удалось. Дело в том, что не все папки, ведущие к файлу с длинным именем, могут переименовываться и будет вылетать всё так же ошибка файловой системы. Тогда вы можете создать виртуальный диск, используя любую из вложенных папок, ведущих к не удаляемому файлу. Сейчас я покажу, как это сделать.
Теперь вы пишите такую команду, которая сделает для нас виртуальный диск:
Нужно выбрать такую букву диска, которая не занята другими. Системный раздел обычно указывается буков C, а второй раздел, как D или E, тогда выбираем любую другую.
Путь к папке нужно указывать от диска. Если у вас это вызывает сложность, то откройте ту папку, которая будет выступать в качестве виртуального диска и в проводнике вверху скопируйте путь до неё.
У меня эта команда выглядит следующим образом:
Когда мы зайдем в Мой компьютер, то там вы должны увидеть диск, с той буквой, которую мы ей присвоили из командной строки. Таким образом, путь к файлу сократиться практически в два раза, а это значит, что общая длинна символов может составлять менее 260 знаков. Теперь вы можете попробовать избавиться от неудаляемого.
Для того, чтобы виртуальный диск удалить нужно ввести команду:
subst БукваДиска /d |
Используем Total Commander
Используем архиватор 7-Zip
На рабочем столе создаётся архив всего этого добра, а папки с длинным файлом просто удаляются. Сам же архив вы можете удалить без проблем.
Вот такие способы по исправлению ошибки не удаляемого файла мы рассмотрели. Может быть у вас есть еще варианты, как можно это сделать?
Многим пользователям ПК под управлением ОС Windows, не говоря о разработчиках, знакомы проблемы при работе с длинными (более 260 символов, MAX_PATH) путями файлов или каталогов.
Приложения Win API
В Windows 10 (1607) поведение функций для работы с файлами изменилось: появилась возможность отключить проверку ограничений MAX_PATH на уровне системы.
Это коснулось следующих функций:
Для работы с каталогами: CreateDirectoryW, CreateDirectoryExW, GetCurrentDirectoryW, RemoveDirectoryW, SetCurrentDirectoryW. И для работы с файлами: CopyFileW, CopyFile2, CopyFileExW, CreateFileW, CreateFile2, CreateHardLinkW, CreateSymbolicLinkW, DeleteFileW, FindFirstFileW, FindFirstFileExW, FindNextFileW, GetFileAttributesW, GetFileAttributesExW, SetFileAttributesW, GetFullPathNameW, GetLongPathNameW, MoveFileW, MoveFileExW, MoveFileWithProgressW, ReplaceFileW, SearchPathW, FindFirstFileNameW, FindNextFileNameW, FindFirstStreamW, FindNextStreamW, GetCompressedFileSizeW, GetFinalPathNameByHandleW.
Это избавляет от необходимости использовать префикса \\?\ и потенциально даёт шанс приложениям, работающим напрямую или косвенно через Win API, получить поддержку длинных путей без необходимости их пересборки. Как активировать эту возможность описано в конце статьи.
.Net Framework
Вот что это даёт:
.Net Core
Как включить:
Всё работает из коробки. В отличие от реализации в.Net Framework – тут нет необходимости в добавлении префикса “\\?\” – он добавляется автоматически при необходимости.
Вот можно посмотреть пример.
Как включить поддержку длинных путей в Windows 10 (1607)
Включить встроенную поддержку длинных путей можно создав или изменив следующий параметр системного реестра: HKLM\SYSTEM\CurrentControlSet\Control\FileSystem Параметр LongPathsEnabled (Тип: REG_DWORD) 1 – соответствует значению включено.
Или через групповые политики (Win+R\gpedit.msc) Computer Configuration > Administrative Templates > System > Filesystem > Enable NTFS long paths. Оно же в локализованном варианте: Конфигурация компьютера > Административные шаблоны > Система > Файловая система > Включить длинные пути Win32.
Далее источники расходятся во мнении относительно манифеста (или я неправильно понял, но на данный момент проверить не имею возможности). Например, в документации MSDN написано, что манифест можно использовать в качестве альтернативного способа активации поддержки длинных путей в отдельных приложениях, а в блоге MSDN указано, что это является вторым обязательным шагом после активации в политиках.
Но они сходятся в формате задания данной опции:
Спасибо за внимание!
Это ограничение также не действует при сетевом доступе пользователей к файлам по протоколу SMB (за счет этого каталожные структуры с длинными путями нередкость именно на файловых серверах с пользовательскими данными). Администратор, обслуживающий данный сервер не может через стандартный интерфейс проводника Windows Explorer управлять (удалять/перемещать) файлы с длинными путями. При попытке создать/скопировать файл в такой каталог, появляется ошибка:
Другие программы/диалоговые окна могут сообщать о наличии ограничения по своему.
Согласитесь забавно, что за окном 2014 год, а мы до сих пор говорим об ограничении в 260 символов на максимальную длину пути в Windows… Но похоже в ближайшее время никаких кардинальных изменений не предвидится, и даже в совсем свежей Windows 10 Technical Preview это ограничение все еще существует.
В этой статье мы покажем, как в Windows можно работать с файлами, путь к которым превышает 260 символов. В данном кейсе наша задача – удалить каталог, содержащий файлы с большой длиной пути.
При попытке удалить такой каталог из проводника появляется ошибка:
The file name(s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorten path.
Powershell также не умеет корректно обрабатывать каталоги и файлы с большими путями, превышающими 260 символов. При попытке удалить каталог с такими файлами (C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath) появляется ошибка:
Самый простой вариант (он, собственно, и предлагается в окне с ошибкой) – сократить название родительских папок, уменьшив общую длину пути (но применимо не всегда).
Mklink /d c:\install\link “C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath”
Еще один вариант, напоминающий работу с символьной ссылкой — сопоставить проблемную папку виртуальному диску (в нашем примере X:), тем самым также сократив длину пути:
Subst X: “C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath”
Теперь можно работать с данными на диске X:, пути к файлам в котором не будут превышать лимит. После окончания работы можно удалить виртуальный диск:
Robocopy /MIR C:\Install\test «C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath»
После выполнения команды содержимое каталога C:\Install\MS SQL 2012 Express Edition 64 bit\verylongpath очищается (заменятся содержимым пустого каталога).
Итак, сегодня мы показали несколько простых трюков, которые можно использовать при работе с папками на файловых серверах, содержащих папки, длина пути к которым превышает лимит 260 символов.
Не удается скопировать файл /папку. Слишком длинное имя / целевой путь конечного файла
Или тоже но на английском:
The file name(s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorter path.
Варианты решения
Вариантов решения видел 2:
1. Перенести xampp в голову диска
2. Создать алиас для этого пути (Например диск с именем H)
Второй вариант показался более простым, ведь для xampp пути не поменяются, а gitом будем заходить в папки через созданный алиас. Ну еще для правильной работы IDE придется изменить путь проектам.
Subst H: C:\Users\\Documents\xampp\htdocs\git\
Cлишком длинное имя файла
Всем привет! Как-то столкнулся с такой ситуацией, что находящийся по длинному пути файл не захотел открываться. Оказывается, в Windows существует такое дело, что если папки и вложенные в них паки и файлы превысили 260 символов и у вас не получится их не открыть, не скопировать и не удалить. При попытке это сделать мы получаем сообщение «Cлишком длинное имя файла».
В интернете предлагают:
Да, всем этим можно воспользоваться если нет альтернативы. Но мне больше импонируют решения, которые позволяют обойти ограничения в 260 символов.
Начиная с Windows 10 версии 1607 ограничения MAX_PATH были сняты с общих функций файлов и каталогов Win32. Однако вы должны согласиться на новое поведение.
Решение 1. Внесение изменений в групповую политику
Чтобы изменить ограничение пути, необходимо выполнить следующие действия:
Решение 2. Включить длинные пути с помощью редактора реестра (работает в Windows 10 1607 и более поздних версий)
Чтобы включить новое поведение длинного пути, должны быть выполнены оба следующих условия:
Я подготовил файл, который вносит в реестр необходимые изменения. Скачать reg файл 260 Path Path Limit.zip
Надеюсь, вам это поможет решить проблему с ограничением Windows в 260 символов.
Слишком длинные имена файлов как скопировать
Вчера столкнулся с ситуаций когда копировал жесткий диск глав буха на его новый комп и у меня вылетела ошибка при копировании «имена файлов слишком длинны для помещения в эту целевую папку»
дело в том что папки и вложенные в них папки превысили 260 символов и у вас не получится их не скопировать не удалить.
Как из вариантов можно просто переименовать эти папки в более короткий путь либо воспользоваться программой Total Commander и при копировании через нее проделать небольшую операцию
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Почему длина имени файла является проблемой в 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.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Как временно исправить проблему с файлами?
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.
Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием 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 может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
У читателя Александра подопечный юзер спросонья удалил важный файл из сетевой папки. Админ, заранее подстеливший соломку, успокоил беднягу и уверенно открыл вчерашние теневые копии. Файл там был, но в нагрузку с ним шли грабли.
[+] Сегодня в программе
Слишком длинный целевой путь или имя файла
При попытке восстановить я получил ошибку о том, что путь до файла слишком длинен, и ничего с ним сделать нельзя. Т.к. это копия vss переименоватьскопироватьпереместить я его не смог. Бился целый день, но выхода так и не нашел.
И неудивительно, с таким-то путем! 🙂
Графический интерфейс теневых копий выпилили только из Windows 8, а на серверной ОС он сохранился, и свойства папки выглядят аналогично Windows 7.
Снимок экрана любезно предоставил Вадимс Поданс
Как обойти ограничение на создание файла с длинным путем
Понятно, что восстановление [Restore] при таком длинном пути не сработает – ведь нужно скопировать файл в исходное расположение. Но я сходу не понял, почему возникли затруднения с копированием файла в любое другое место [Copy] – главное же было вернуть файл пользователю. Проводник же может скопировать файл из длинного пути.
Так или иначе, я получил письмо в метро, и поэтому с телефона по-быстрому отправил ответ, который должен был обойти препятствие. Я предложил создать символическую ссылку на часть пути:
Теперь копирование файла в C:link должно было вернуть его на прежнее место. И это сработало 🙂
Такое решение пришло мне в голову не случайно – ведь вопрос был о теневых копиях, а я уже пару раз рассказывал, как войти в них с помощью символической ссылки. Позже, когда я готовил эту заметку и рылся в своей записной книжке, всплыло и другое решение, которым я делился три года назад.
Команда subst сопоставляет папку букве диска, и при желании одной командой можно моментально занять все буквы! В принципе, если путь супер-длинный, это может пригодиться, т.к. придется создавать серию сопоставлений.
Эксперимент
Хотите проверить, как все выглядит на практике? Я подготовил для вас CMD-файл (скачать), этапы работы которого вы можете наблюдать в проводнике. Запускайте файл от имени администратора, иначе символическая ссылка не получится. Я проверял работу файла только в Windows 8.1, но он должен работать и в предыдущих ОС.
Поскольку пояснения кириллические, файл нужно сохранять в кодировке MS-DOS (подсказка – у вас всегда есть WordPad 🙂
Прежде чем удалять все файлы на последнем шаге, вы можете поиграть с созданными файлами и папками в файловом менеджере. Вы увидите разные сообщения. Например, при попытке копирования файла в папку:
При создании нового текстового документа (стандартное имя длинное):
Разные консольные команды тоже на свой лад сообщают об ограничении.
Дискуссия
Вообще, длина пути в 260 символов это анахронизм, хотя я не припоминаю, когда сталкивался с ограничением в последний раз. Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.
А вы давно сталкивались с ограничением на длину пути? Напишите в комментариях, как вы справились с проблемой или какое еще решение вы знаете. Я специально не указал все решения задачи:)
Upd. В комментариях читатели поделились своим опытом по обходу ограничения на длину пути:
Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.
Вадим является владельцем этого блога, и большинство записей здесь вышло из-под его пера. Подробности о блоге и авторе здесь.
Вас также может заинтересовать:
Подпишитесь на бесплатные уведомления о новых записях и получите в подарок мою книгу об ускорении загрузки Windows!
комментариев 78
как для эксперимента на win 7 создать теневую копию какой-либо папки? Тогда можно было бы поэкспериментировать с длинными именами.
Создайте точку восстановления, см. связанные статьи. Код в статье пригоден для эксперимента без теневых копий.
я чего спросил. Просто фиг его знает, чем там пути в теневых копиях отличаются от обычных.
Если это такие же обычные пути, то можно юзать даже jscript/vbscript + com-библиотека DynamicWrapper v2 + нативные юникодные WinAPI + UNC-пути.
Или python + UNC-пути.
Я тоже знаю карате, кунг-фу и еще много других страшных слов 🙂
Сталкивался с этой проблемой буквально недавно. Приходилось сокращать названия родительских папок.
Павел, этот вариант решения я не рассматривал ввиду очевидности 🙂
Не совсем про длину пути, но тем не менее: мои документы структурированы и хранятся в OneDrive, сотрудник внес изменения, и тут бах — ошибка синхронизации «бла-бла-бла неправильный путь» или как-то так. Долго пытался понять, что же случилось. Оказалось, файл переименовали таким образом, что в начале имени оказался пробел. Причем при копировании файла, допустим, на рабочий стол, пробел в имени самостоятельно исчезал. Интересно, а если бы мне понадобилось восстановить теневую копию подобного файла, удалось бы?
при установке библиотек для node.js все зависимости складываются не в корне папки node_modules, а для каждой библиотеки отдельно внутри ее папки. Таким образом выстраивается огромное дерево с многократной вложенностью. На Windows это привело к тому, что невозможно удалить папку. Никакие советы из интернета не помогли, кроме одного, давно забытого мною — удалить папку из GUI 7zip.
unlocker без проблем удаляет такие файлы/папки
Постоянно с длинными именами возникают проблемы в техотделе. Такая там структура папок. Приходит на буквы вешать пути.
Пользуюсь Far Manager’ом. Он со второй версии может работать с именами практически любой длины. А старые версии да, выдавали ошибку. Справлялся при помощи subst.
Техническое отступление (для программистов)
При использовании юникода в функцию CreateFile и некоторые другие можно передавать очень длинные имена файлов, при условии, что они записаны в UNC-формате (как сетевое имя, начинаются с \). Для ссылки на локальный файл в UNC-формате можно использовать префикс \. или \?. Кстати, так можно создать и файлы с зарезервированными именами CON, NUL и другие:
Ввиду того, что со второй версии Far перешёл на юникод и в нём можно создавать, модифицировать и удалять файлы с зарезервированными именами без проблем, можно предположить, что он внутри использует UNC-пути.1
Конец технического отступления
Демотиваторы (и другие картинки с текстом), которые мне понравились, я сохраняю на диск с именем, содержащим сам текст на картинке из соображений индексации. Знаю, что можно вписать текст в EXIF-метки, но модифицировать скачанный бинарный файл не хочу, поэтому переименовываю. Однажды для картинки задал такое длинное имя (переименовал через IrfanView), что теперь она не открывается через проводник и руки не доходят эту картинку переименовать нормально.
Проблема не в длинном пути к файлу как таковом, а в длине параметров, принимаемых некоторыми API-функциями работы с файлами и каталогами. С точки зрения файловой системы (NTFS, в частности) путь может быть и больше 260 символов, но обратиться к файлу, передавая этот путь целиком, не получится.
При этом любой путь можно легко превратить как в более длинный, так и в более короткий, например переименовав какой-то каталог в середине пути.
Пример:
Было C:12345267890файл.txt
Каталог «2» можно переименовать в имя длиной, например, 250 символов (в итоге общая длина пути до каталога «2» составит менее 260 символов, что допустимо, а вот всё что глубже станет недоступным).
Антон: Каталог «2» можно переименовать в имя длиной, например, 250 символов »
Антон, в 250 символов папку переименовать не получится 🙂
Это почему не получится? Вот http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath у них
путь
D:256 символов + NULL
вполне получился (3+256+NUL-символ = 260 символов)
А в моем примере
C:12345 + 250 симв. + NUL-символ= 9 + 250 + 1 = 260
Антон, вы не теоретизируйте, а пробуйте, тогда узнаете, что не получится. А там и догадаетесь, почему 🙂 Если что, я подскажу.
В Far Manager прекрасно и создается, и переименовывается.
Антон, тогда предположу, что для FAR и ограничение в 260 не помеха, и приведенная вами цитата MSDN на него не распространяется. Я же отвечал вам в контексте ограничения в 260 символов (а не в принципе) — попробуйте в проводнике или cmd.
Всё оказывается ещё смешнее. У WinAPI функции CreateDirectory, как выяснилось, лимит еще меньше — 248 символов:
There is a default string size limit for paths of 248 characters. This limit is related to how the CreateDirectory function parses paths.
На это я вам и намекал, но смешного тут ничего нет (это вытекает из ограничения 260 — подумайте, почему). А как его узнать без чтения документации и ручного подбора максимальной длины? 🙂
Антон: В Far Manager прекрасно и создается, и переименовывается.»
Я писал уже выше, почему Far Manager может оперировать с очень длинными именами.
Возможно, автор вируса — школьник, тогда алгоритм «шифрования» XOR, а «ключ» — новое расширение файла или его (расширения) часть. Напоите пивом знакомого быдлокодера, и он вернет вам ваши документы. Но сперва вылечите рабочую машину.
Дмитрий, на OSZone есть форум Лечение.
Рекомендую посмотреть неплохую бесплатную программу ShadowExplorer.
http://www.shadowexplorer.com/
А для чего она служить, можно подробнее её описание? просто еще 1с полетело, для бухгалтеров это катастрофа, не сколько организаций тоже столкнулись с такой проблемой, так и решение не нашли, антивирусные программы её не видят как вирус…
Программа для удобной работы с теневыми копиями.
Про эту программу я написал не для Вас, а в данную обсуждаемую тему.
А Вам нужно обратиться в тему обсуждения лечения зараженных компьютеров.
А лучше обратитесь к специалистам.
Хотя можно попробовать этой программой вытащить необходимые данные.
Да, эту программу читатели рекомендуют в каждой записи, где упоминаются теневые копии 🙂 А что, она позволяет решить поставленную в записи задачу?
У меня было, месяц назад. На сервере сетевой диск. Говорят раньше могли, а сейчас не можем сохранять, ну я предложил укоротить имя файла но все равно вопрос остался, почему раньше да а сейчас нет. Они ведать изменили (удленили) имя как в примере навел Антон.
Когда-то из архива достал файл с огромным именем в нескольких (>10) подкаталогах. Дальнейшие обычные операции с файлом были не возможны. Мне подсказали что и имена подкаталогов учитываются — я переименовал все папки на «1» и это помогло — имя/путь влез в некий максимум. Решение ламера, да.
Попозже я читал о Subst но больше подобной проблемы не встречал.
да сталкивался несколько раз но всегда это было связанно с копированием каких-то файлов из смартфона …………. что на старом WM что на новом Android этих проблем нет а на винде почему-то есть …….. где справедливость то :))))))))
Регулярно сталкиваюсь, когда увольняются сотрудники, и все, что нажито их непосильным трудом, нужно переместить во временное хранилище (своеобразная корзина). Правда у нас 8dot3-имена включены, они и выручают 🙂
Сталкивался с этой бедой при копировании файлов, решил с помощью Far Manager’а.
До простого и элегантного решения с символической ссылкой я тогда не догадался.
Я регулярно сталкиваюсь с превышением длины пути.
Когда копирую с клиентских винчестеров файлы на временный диск, естественно, добавляются дополнительные символы в виде имени папки.
Сталкивался с ограничениями по работе — при копировании профиля пользователя в папке C:Users\%username%AppData\LocalLotusNotesData лежат какие-то лотусные файлы с длинными именами, и при копировании проводником система ругается на длину пути. При копировании с помощью robocopy или TotalCommander проблем не возникало.
Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.
Мне вот тоже иногда не хватает длины пути из-за ограничений ОС. Страдает синхронизация с облаками, например.
Когда много различных проектов и подпроектов в работе, без четкой и понятной иерархии папок трудно найти нужную.
Больше всего в ОС Windows 8.1 меня раздражает кривой поиск. Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. Как результат — длинющаяя портянка файлов, среди которой очень трудно найти нужную папку и быстро в нее перейти. Да и ищет такой поиск долго, несмотря на все включенные индексации и SSD 256 (samsung 840 pro) с примерно половиной свободного места.
«Недавние папки» — тоже далеко не всегда показывают папку, которую я недавно закрыл или в которой создавал файл, или открывал/сохранял файл через какую-либо программу. Т.е. «недавние папки» работают как то очень своеобразно.
Итого, без четкой иерархии с понятными (и длинными) названиями папок, у многих из которых есть нумерация в начале папки (чтобы сортировка была не по алфавиту, а как нам в компании удобно, нумерация папок у проектов соответствует жизненному циклу проекта) и есть дата (формата 2014-09-11), не обойтись.
Хотя хотелось бы=)
Больше всего в ОС Windows 8.1 меня раздражает кривой поиск. Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. Как результат — длинющаяя портянка файлов, среди которой очень трудно найти нужную папку и быстро в нее перейти.
Попробовал, вбивал в строку поиска в проводнике. OC — Win 8.1
Результат — опять большая портянка всех файлов (которые, походу, входят в папку, которую я ищу), а не папок.
Да, в пути подсвечивается папка (и то, не у всех файлов, а у тех, у которых нужная папка «ближе» к корню диска.
У остальных файлов даже папка не подсвечивается, а скрыта за многоточием: http://prntscr.com/4m0qne
Итого, способ такой-же не эффективный. В сам поиск писать дольше (надо написать папка:) и на выдаче опять портянка файлов вместо, например,
5 папок. Или я не понял как правильно делать=)
Вадим, и про «недавние места» можете еще прокомментировать? Есть способ как то улучшить работу с ними?
Антон, сорри, писал по памяти с телефона 🙂 Правильный фильтр вид:=папка. Помимо ввода вручную, в 8+ выбирается из меню Тип (издержки локализации), когда курсор в поле поиска.
Недавние места не поддаются настройке.
Спасибо за подсказку!
не айс, конечно, но хотя бы так. файлы я совсем практически не ищу, а папки — постоянно.
еще раз спасибо!
Антон: чтобы сортировка была не по алфавиту, а как нам в компании удобно, »
Эх, а в ХР это делалось банальным перетаскиванием мышкой в нужный порядок )))
Антон: Я бы с удовольствием бы пользовался поиском, но ОС заточена под поиск файлов, а не папок. »
Everything в помощь- там есть фильтр «Папки» (запоминается при выборе), и поиск мгновенный.
По теме записи- как то не сталкивался.
Я попробовал Everything, очень понравилась скорость поиска. Все мгновенно находит вообще мгновенно, и файлы, и папки. Встроенный поиск Windows нервно курит в сторонке по скорости поиска=)
Спасибо за прогу.
Поиск папок в 8.1 абсолютно мгновенный, также как и поиск файлов. Просто вводите в строке Поиска Проводника 2-3 буквы — и результат на лицо. Следует напомнить, что содержимое должно быть проиндексировано. Вот пример:
https://cloud.mail.ru/public/7ffea94e318e%2F%D0%9F%D0%BE%D0%B8%D1%81%D0%BA.PNG
Пользуюсь Total Commander — он адекватно работает с длинными путями, до проблем «Проводника» и извращений с этим связанными мне уже давно никакого дела нет.
Алексей, зато у вас другие проблемы (кстати, я угадал ваш ФМ 🙂
Total Commander сейчас и 64-битный есть. Так что если юзать его на 64-битный ОС, то данной проблемы не должно быть.
Есть, но я же не придумывал эту проблему — мне ее доставили в качестве претензии к моему скрипту 🙂
Копировал бэкап со сгоревшего компа на свой (Win7) стандартным проводником. В итоге общий путь до файла был очень длинным и проводник сказал, что скопировать файл нельзя. В итоге взял totalcommander и всё скопировалось только лишь с одним запросом о том, что путь слишком длинный.
Самый простой выход в этом вопросе — не заниматься извращениями и не создавать странную древовидную структуру. Для быстрого доступа к информации существуют более легкие и простые пути. Читайте Справку Windows или блог Стеркина.
зы. Но мы не ищем легких путей)))
Когда-нибудь работали на предприятии с активно развивающейся базой по номенклатуре, КД и пр.? Вопрос риторический, можете не отвечать.
Здравствуйте!
Очень полезный пост. Буквально месяц назад ломал голову как обойти это ограничение, и как раз по причине описанной вами. Проблему решил этим же методом, я так понимаю что это единственный метод.
Алексей, не единственный — в статье их два, а в комментариях есть еще пара (я добавил их в конец записи).
Интересное решение.
Сам при таких проблемах делал либо при помощи программы killcopy, еще стоит terracopy. Totalcommander редко использую.
Но как вы считаете, как лучше сделать, если ты, допустим, поставил на копирование кучу файлов на внещний hdd, он тебе перекачивает, потом говорит, что ай ай ай длинное имя. Но не дает возможности переименовать или что-то еще. Только пропустить и прервать. А вы понимаете, что потом заниматься поиском пропущенных файлов ой как не хочется. Так вот, как на таком этапе дешевле всего решить проблему?
Гамлет Принцдатский
Я решил эту проблему через подключение сетевого диска. Подключаем сетевой диск на папку выше той папки, где удален файл ну, а дальше восстанавливаем файл
А что мешало восстановить в любую папку локального диска?
Гамлет Принцдатский
Vadim Sterkin: А что мешало восстановить в любую папку локального диска?
»
Отсутствие свободного места на локальном диске.
Я храню разные заметки по работе в многих папках и подпапках. А иногда в такой под-под-под-…папке сохраняю вэб-страницу с длинным исходным названием. И все бы ничего — но при попытке скопировать эту структуру, например, из rar-архива на домашний компьютер — получаю отказ.
Есть ли какое-то средство (программа) для мониторинга/проверки текущей структуры папок-файлов на приближение к 250символам?
OneNote и поиск по нему — отличная замена маниакальной вложенности папок.
Спасибо. А файлики в документ OneNote можно вложить/прикрепить?