Настройка windows 7 на обработку длинных путей к файлам

Длинные пути Windows

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.

Описание проблемы длинных путей

Раньше имена файлов в Windows ограничивались форматом 8.3 — всего восемь символов для имени файла и три для расширения. С появлением Windows 95 Microsoft сняла этот предел и позволила использовать гораздо более длинные имена.

Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?.

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:

Хочу отметить, что на период ноября 2020 года и последней версий Windows 10 1909, в ПРОВОДНИКЕ Windows до сих пор есть ограничения в 260 символов, и мы все слышим обещания, что их исправят

Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:

Слишком длинный целевой путь: Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем

Имена файлов слишком длинны для помещения в эту целевую папку. Попробуйте использовать более короткое имя имя файла или расположение с более коротким путем

Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».

Слишком длинный целевой путь, решаем за минуту

Вот ошибка при извлечении архива в сетевую папку:

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Не удается завершить извлечение. Слишком длинный конечный путь. Переименуйте сжатую ZIP-папку и повторите попытку

Методы снимающие ограничения на длину пути в Windows

  • Через групповую или локальную политику Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через реестр Windows (Применимо только к Windows 10 и Windows Server 2016 и выше)
  • Через сторонние утилиты 7-Zip, Far, TotalCommander (Применимо ко всем версиям Windows)
  • Использование силинков (символических ссылок) (Применимо ко всем версиям Windows)
  • Через сетевой диск, для укорачивания пути
  • Утилиты xcopy, robocopy

Нюансы длинных путей в приложениях

Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:

Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \?, то групповые политики вам это помогут.

Еще раз напоминаю, что данный метод подойдет и для серверных версий, даже самых современных Windows Server 2019

Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.

Хочу отметить, что для Windows 10 Home данный метод работать не будет, там просто нет редактора локальных политик, там придется лезть в реестр Windows

Как в Windows 10 отключить ограничение на длину пути в 260 символов

Далее идем по пути:

Конфигурация компьютера — Административные шаблоны — Система — Файловая система (Computer configuration — Administrative templates — System — Filesystem)

Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

Включить длинные пути Win32

То же самое вы можете сделать централизовано для массового управления через групповые политики, все ветки те же самые.

Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

Включение поддержки длинных путей через реестр

Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:

тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.

Включение поддержки длинных путей через реестр Windows. LongPathEnabled

Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.

Ключи реестра для активации MAX_PATH

Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:

HKEY_CURRENT_USERSOFTWAREMicrosoftWindows CurrentVersionGroup Policy Objects MachineSystemCurrentControlSetPolicies

Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.

Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlFileSystem -Name LongPathsEnabled -Value 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями

Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Запустите командную строку в режиме администратора и введите:

reg add «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /t REG_DWORD /d 1

Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

Обход ограничений длинных путей через 7zFM

Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.

Исправляем Слишком длинный путь к источнику через 7zFM

Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

Для создания новой папки нажмите клавишу F7.

Создание папки в 7zFM.exe

Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.

Указание имени у создаваемой папки в 7zFM.exe

В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

Успешно созданная папка через 7zFM.exe

Проверяем, что директория доступна через проводник Windows.

Обход ограничений длинных путей через 7zFM

Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.

Обход ограничений длинных путей через 7zFM

Как обойти ограничение длинных путей через символьную ссылку

Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:

  • Путь где будет лежать файл символической ссылки — в моем примере C:короткий путь
  • Длинный путь — C:ShareWINDOW~1C73D~1C6BF~1 D915~15C04~1B4E5~1260MIC~1

Как обойти ограничение длинных путей через символьную ссылку

Нам поможет команда mklink, где ключ /D создает ссылку на каталог

mklink /D «C:короткий путь» «C:ShareWINDOW~1 C73D~1C6BF~1D915~15C04~1B4E5~1260MIC~1»

Символическая ссылка успешно создана, можно проверять.

Создание символической ссылки для решения проблемы длинных путей

Откройте каталог с укороченным путем и попробуйте создать просто папку, в итоге она будет создана именно по тому длинному пути, как видите легко можно обходить ограничение в 260 символов.

Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

Как обойти ограничение длинных путей через сопоставление subst

subst — простая команда позволяющая связать нужный путь к каталогу с буквой диска. Так же откройте командную строку в режиме администратора и сопоставьте ваш длинный путь с буквой W.

subst W: «C:ShareWINDOW~1C73D~1C6BF~1 D915~15C04~1B4E5~1260MIC~1»

Как обойти ограничение длинных путей через сопоставление subst

У вас в проводнике Windows должен появиться диск с данной буквой, если его нет, то прочитайте статью «Не появляется диск после команды subst» или просто в проводнике вбейте W: и нажмите Enter.

Как устранить проблему длинных путей Windows

Как обойти ограничение длинных путей через монтирование сетевого диска

В командной строке используйте команду net use, далее буква диска, которую мы присваиваем и в самом конце путь:

net use Z: «\DESKTOP-OJ0SCOEShareWINDOW~1 C73D~1C6BF~1D915~15C04~1B4E5~1260MIC~1» /persistent:yes

Создание сетевого диска ведущего на длинный путь Windows

Как видим все прекрасно отработало и диск появился.

Как обойти ограничение длинных путей через монтирование сетевого диска

Использование утилит Far или Total Commander

После включения параметра «Включить длинные пути Win32» данные утилиты в 100% случаев помог вам произвести любые действия с папками или файлами на любом длинном пути в системе Windows. Откройте Total Commander и создайте для примера папку в каталоге с длинным путем, напоминаю для этого нужно нажать F7.

Использование утилит Far или Total Commander

Как видите все прекрасно создается, удаляется или копируется при желании.

Успешно созданная папка в Total Commander

Как еще обойти проблему с длинными путями Windows

В мир виртуализации и облаков, многие компании переносят свои файловые ресурсы именно туда. Например в моей компании используют для хранения большинства данных это Google Drive, кто-то диски mail.ru или Яндекса, не нужно этого бояться, главное смотрите, чтобы это подходило с юридической точки зрения но и не нужно лукавить это может стоить дополнительных расходов, но зато ни каких длинных путей, вышедших из строя дисков в RAID, место наращивается на лету, короче одни плюсы.

На этом у меня все, мы разобрали как исправляются ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Windows Server 2012 R2 Datacenter Windows Server 2012 R2 Essentials Windows Server 2012 R2 Foundation Windows Server 2012 R2 Standard Windows 8.1 Enterprise Windows 8.1 Pro Windows 8.1 Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Standard Windows Server 2012 Standard Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows 8 Enterprise Windows 8 Pro Windows 8 Windows 7 Service Pack 1 Windows Server 2008 R2 Service Pack 1 Еще…Меньше

Симптомы

Рассмотрим следующий сценарий:

  • У вас есть компьютер под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012 Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 Пакет обновления 1 (SP1).
  • Попробуйте скопировать файлы или папки, чтобы вставить их в другую папку с помощью проводника Windows.
  • Файлы или папки, которые вы поместите имеют пути, длина которых превышает максимальную допустимую длину пути.

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

  • Операция копирования не выполняется и генерирует сообщение о том, что указан слишком длинный путь (имя файла). Сообщение также предлагает Сократите имя файла и повторите попытку копирования.
  • Операция копирования не запускается. В этом случае сообщение не формируется.
  • Операция копирования начинается, копирует несколько файлов или папок и затем завершается неудачей без выдачи сообщения.

Эта проблема может препятствовать копированию некоторых файлов или папок. Отсутствие сообщений об ошибке не свидетельствует об отсутствии ошибки в системе. Различные проблемы могут возникнуть в зависимости от того, как файлы выбраны для копирования.

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

Причина

Эта проблема возникает из-за особенности в способе обработки Windows ошибок длинных путей.

Решение

Для решения этой проблемы для Windows 8.1, Windows Server 2012 R2, Windows 8, andWindows Server 2012 установите накопительный пакет обновления.
Для решения этой проблемы для Windows 7 и Windows Server 2008 R2, установите исправление, описанное в данной статье.

Сведения об обновлении для Windows 8.1, Windows Server 2012 R2, Windows Server 2012 и Windows 8

Для решения этой проблемы установите накопительный пакет обновления, выпущенного апрель 2012 г. и 2014 ноября.

  • Windows RT 8.1, Windows 8.1 и обновления Windows Server 2012 R2: апреля 2014 г
  • Получить ноябрь 2014 накопительный пакет обновления для Windows Server 2012, Windows 8 и Windows RT

Сведения об исправлении для Windows 7 и Windows Server 2008 R2

Доступно исправление от службы поддержки Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.

Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы просмотреть полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

Предварительные условия

Для установки этого исправления необходимо иметь Пакет обновления 1 для Windows 7 или Windows Server 2008 R2 установлен.

Необходимость перезагрузки

После установки исправления компьютер необходимо перезагрузить.

Сведения о замене исправлений

Это исправление не заменяет все ранее выпущенные исправления.

Английский (США) версия данного исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

Информация о файлах для Windows 7 и Windows Server 2008 R2 и примечанияВажно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SPn) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.

Для всех поддерживаемых 86-разрядных версий Windows 7

Для всех поддерживаемых 64-разрядных версий Windows 7 и Windows Server 2008 R2

Для всех поддерживаемых версий Windows Server 2008 R2 для систем на базе процессоров IA-64

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2

Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7

Дополнительные файлы для всех поддерживаемых версий x64 под управлением Windows 7 и Windows Server 2008 R2

Дополнительные файлы для всех поддерживаемых версий Windows Server 2008 R2 с архитектурой IA-64

Узнайте о терминологии Корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Слишком длинный путь к источнику

Обновлено

Обновлено: 14.03.2021
Опубликовано: 13.07.2017

Описание

При попытке удалить или переместить файл, появляется ошибка:

Слишком длинный путь к источнику.
Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.

Причина

По умолчанию, операционная система Windows настроена на блокирование действий над файлами в проводнике, путь к которым более 255 символов.

Решение

Способ 1. Уменьшаем путь до файла

Есть несколько способов сократить путь до нужной нам папки.

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

2. Создаем символьную ссылку на конечный путь. Это можно сделать командой:

mklink /d «C:Папка0» «C:ПапкаПапка 2Папка 3 Папка 4Папка 5»

* в данном примере перейдя по пути C:Папка0, мы окажемся в папке C:ПапкаПапка 2Папка 3 Папка 4Папка 5.

3. Сопоставляем папку букве диска с помощью команды subst:

subst S: «C:ПапкаПапка 2Папка 3 Папка 4Папка 5»

* в данном примере мы создадим диск S, который будет вести нас в папку C:ПапкаПапка 2Папка 3 Папка 4Папка 5.

Способ 2. Включаем поддержку длинных файлов

Данный способ поддерживается, начиная с Windows 10 / Server 2016.

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

Открываем реестр (команда regedit) и переходим по пути HKLMSYSTEMCurrentControlSetControlFileSystem. Находим или создаем ключ LongPathsEnabled с типом REG_DWORD и задаем ему значение 1.

Это же действие из командной строки:

reg delete «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /f

reg add «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /t REG_DWORD /d 1

* первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.

Способ 3. Far Manager

Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.

Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).

Способ 4. Укорачиваем сетевой путь

Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.

Например, это можно сделать командой:

net use J: \servershare /persistent:yes

* данной командой мы создадим диск J, который будет вести на сетевую папку \servershare.

Способ 5. Используем командную строку

Если нам нужно скопировать или перенести небольшое количество файлов, мы можем воспользоваться командной строкой. Для копирования используем xcopy, для переноса — move.

В чем была проблема?

Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:

* в процентах показаны результаты ответов других посетителей.

Вы тут: Главная → Windows → Как обойти ограничение на длину пути при создании или копировании файла

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

[+] Сегодня в программе

Слишком длинный целевой путь или имя файла

При попытке восстановить я получил ошибку о том, что путь до файла слишком длинен, и ничего с ним сделать нельзя. Т.к. это копия vss переименоватьскопироватьпереместить я его не смог. Бился целый день, но выхода так и не нашел.

:)

И неудивительно, с таким-то путем!

\localhostD$sales-Коммерческий отдел (общий ресурс-обмен)Общий ресурс (тел., реестры,реквизиты)КЛИЕНТЫ С 2014СтратегияДоговор аренды с выкупом_Клиент_27.06.14Вар дог._25% аванс_с выкупом_17.07.14 (Today, July 22, 2014, 3 hours ago)3 вар_договор аренды с правом выкупа_6443-001 от 17.07.14.pdf

Графический интерфейс теневых копий выпилили только из Windows 8, а на серверной ОС он сохранился, и свойства папки выглядят аналогично Windows 7.

Создание файлов с длинным путем

Снимок экрана любезно предоставил Вадимс Поданс

Как обойти ограничение на создание файла с длинным путем

Понятно, что восстановление [Restore] при таком длинном пути не сработает – ведь нужно скопировать файл в исходное расположение. Но я сходу не понял, почему возникли затруднения с копированием файла в любое другое место [Copy] – главное же было вернуть файл пользователю. Проводник же может скопировать файл из длинного пути.

Так или иначе, я получил письмо в метро, и поэтому с телефона по-быстрому отправил ответ, который должен был обойти препятствие. Я предложил создать символическую ссылку на часть пути:

mklink /d c:link "\localhostD$sales-Коммерческий отдел (общий ресурс-обмен)Общий ресурс (тел., реестры,реквизиты)"

:)

Теперь копирование файла в C:link должно было вернуть его на прежнее место. И это сработало

Такое решение пришло мне в голову не случайно – ведь вопрос был о теневых копиях, а я уже пару раз рассказывал, как войти в них с помощью символической ссылки. Позже, когда я готовил эту заметку и рылся в своей записной книжке, всплыло и другое решение, которым я делился три года назад.

subst V: "\localhostD$sales-Коммерческий отдел (общий ресурс-обмен)Общий ресурс (тел., реестры,реквизиты)"

Команда subst сопоставляет папку букве диска, и при желании одной командой можно моментально занять все буквы! В принципе, если путь супер-длинный, это может пригодиться, т.к. придется создавать серию сопоставлений.

Эксперимент

Хотите проверить, как все выглядит на практике? Я подготовил для вас CMD-файл (скачать), этапы работы которого вы можете наблюдать в проводнике. Запускайте файл от имени администратора, иначе символическая ссылка не получится. Я проверял работу файла только в Windows 8.1, но он должен работать и в предыдущих ОС.

Код командного файла для экспериментов

:)

Поскольку пояснения кириллические, файл нужно сохранять в кодировке MS-DOS (подсказка – у вас всегда есть WordPad

Прежде чем удалять все файлы на последнем шаге, вы можете поиграть с созданными файлами и папками в файловом менеджере. Вы увидите разные сообщения. Например, при попытке копирования файла в папку:

Создание файлов с длинным путем

При создании нового текстового документа (стандартное имя длинное):

Создание файлов с длинным путем

Разные консольные команды тоже на свой лад сообщают об ограничении.

Дискуссия

Вообще, длина пути в 260 символов это анахронизм, хотя я не припоминаю, когда сталкивался с ограничением в последний раз. Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.

А вы давно сталкивались с ограничением на длину пути? Напишите в комментариях, как вы справились с проблемой или какое еще решение вы знаете. Я специально не указал все решения задачи:)

Upd. В комментариях читатели поделились своим опытом по обходу ограничения на длину пути:

  • FAR (файловый менеджер)
  • robocopy (утилита командной строки, входящая в состав современных Windows)

Практически каждый пользователь Windows рано или поздно сталкивается с ошибкой ″слишком длинный путь″ (path too long). Ошибка эта возникает при работе с файлами или папками, у которых полный путь превышает значение в 260 символов.

Напомню, что полный путь включает в себя букву диска, двоеточие, обратный слэш, имена компонентов (файл, директория) разделенные слешем и завершающий пустой символ (NUL). Выглядит полный путь примерно так:

Соответственно, если сумма всех компонентов пути больше 260 символов, то путь считается слишком длинным. Большинство приложений Windows не умеют работать с такими путями и при обращении к файлупапке выдадут примерно такое сообщение:

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символов. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:

Групповые политики

Первым делом открываем редактор локальных групповых политик, для чего жмем клавиши Win+R и выполняем команду gpedit.msc.

Нужная нам политика находится в разделе Конфигурация компьютераАдминистративные шаблоныСистемаФайловая система (Computer configurationAdministrative templatesSystemFilesystem) и называется Включить длинные пути Win32 (Enable Win32 long paths).

Для активации поддержки длинных путей надо перевести политику в состояние «Включено».

Реестр

Для включения поддержки длинных путей через реестр необходимо найти в разделе HKLMSystemCurrentControlSetControlFileSystem параметр с именем LongPathEnabled и задать его значение равным 1.

Эту операцию можно произвести с помощью PowerShell, командой:

В обоих случаях потребуется перезагрузить компьютер. После перезагрузки изменения вступят в силу и для путей будет действовать только ограничение файловой системы NTFS (32767 символа), превысить которое вам навряд ли удастся. Однако это вовсе не значит, что можно расслабится. В некоторых приложениях проверка MAX_PATH заложена в коде, поэтому по возможности лучше не превышать это ограничение.

Дополнение

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

А теперь о грустном. Как внезапно оказалось, в проводнике Windows поддержка длинных путей не реализована. Один из разработчиков Microsoft по этому поводу сказал примерно следующее:

″Эта функция не готова для включения в Windows Explorer. Вам нужно подождать, пока Microsoft не включит ее в Explorer, или использовать сторонний инструмент управления файлами, который совместим с длинными путями. ″

Это было сказано еще в 2016 году. Но, судя по всему, разработчики на данную проблему просто забили. На данный момент в версии 1903 проводник все так же не поддерживает длинные пути файлов. Вот так

RPC блокируется файерволом (брандмауэром)

Убедитесь, что RPC трафик между компьютерами не блокируется файерволом. Если у вас используется Windows Defender Firewall with Advanced Security, нужно проверить или создать правила, разрешающие RPC трафик. Одно правило, разрешающее доступ к службе RPC Endpoint Mapper по порту TCP/135; второе должно разрешать доступ к RPC службе, которая вам нужна по динамическим RPC портам (RPC Dynamic Ports). Правила нужно создать для всех трех сетевых профилей: Domain, Private и Public.

Вы можете вручную создать эти правила, как описано в статьей Create Inbound Rules to Support RPC — https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/create-inbound-rules-to-support-rpc). В домене можно распространить правила брандмауэра с помощью GPO или использовать PowerShell скрипты.

Проверьте с клиента, что на RPC сервере доступен 135 порт TCP (должен слушаться службой RPC Endpoint Mapper). Можно проверить доступность порта из PowerShell:

Если RPC порт доступен, должен появится ответ TcpTestSucceeded:True.

Вы можете получить список конечных точек RPC (сервисов и приложений), которые зарегистрированы на удаленном компьютере и анонсируются службой RPC Endpoint Mapper с помощью утилиту PortQry

В выводе PortQry можно найти номер порта, назначенный нужной вам службе RPC (она запущена?) и проверить, что этот порт не блокируется с клиента.

Если у вас используется сторонний файервол/антивирус, убедитесь, что он не блокирует RPC трафик и умеет корректно обрабатывать трафик динамических RPC портов.

Почему Windows 10 не видит сетевые папки

Если папка не активна, убедитесь, что доступ открыт «для всех». А также проверьте правильность настроек системы безопасности и брандмауэра. В «десятке» проблемы могут возникать и после обновлений. Что включить или отключить в такой ситуации:

  • убедитесь, что компьютеры открыты в сети, а если нет, разрешите доступ;
  • удостоверьтесь, что рабочая группа настроена;
  • если ничего не помогает, сбросьте параметры сети.

Периодически подобные проблемы возникают и из-за протокола SMB, который поддерживает «Обозреватель сети», контролирующий все работающие компьютеры.

В последних версиях ОС SMB1 автоматически не подключается, а обновиться до SMB2 не всегда удается. В таком случае единственный выход — запустить вручную первый вариант SMB.

Как временно исправить проблему с файлами?

Легкое Исправление

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

C:UserguymcDocumentsMy Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.

Менее простые исправления

Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.

Следующие решения помогут вам. Их несложно сделать.

Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.

Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем

Следующие командлеты PowerShell также можно использовать для файлов.

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

C:UsersguymcDocumentsThisIsExactlyThePreciseDirectoryPathThatINeedToHaveToKeepMyFilesSortedInAMannerThatMakesSenseToMeSoLetsPretendThisIsAnActualFilepathThatYouMightAlsoHaveOnYourWindowsComputerAndNotOverThinkItDocument.docx

Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.

Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?

Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.

Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду .

Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.

Копирование каталога с использованием Copy-Item

Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.

-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.

Copy-Item This -Destination ThatNewFolder -Recurse

Переместить каталог с помощью Move-Item

Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.

Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.

Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.

Move-Item -Path This -Destination ThatNewFolder

Чтобы убедиться, что это работает, используйте команду , чтобы войти в ThatNewFolder. Затем используйте команду для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.

Удалить каталог с помощью Remove-Item

Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.

Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.

Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.

Remove-Item This -Recurse -Force

Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.

Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.

Узнаем версию Linux

Linux — это всего лишь ядро, на базе которого разрабатываются различные дистрибутивы. Порою в их обилии легко запутаться, но, зная как проверить версию самого ядра или графической оболочки, вы сможете в любой момент узнать всю необходимую информацию. А способов для проверки много.

Способ 1: Inxi

Inxi поможет в два счета собрать все сведения о системе, однако предустановлена она лишь в Linux Mint. Но это не беда, абсолютно любой пользователь может за несколько секунд установить ее из официального репозитория.

Установка утилиты и сама работа с ней будет происходить в «Терминале» — аналог «Командной строки» в Windows. Поэтому, прежде чем начинать перечислять все возможные вариации проверки информации о системе с использованием «Терминала», стоит сделать ремарку и рассказать, как открыть этот самый «Терминал». Для этого необходимо нажать сочетание клавиш CTRL + ALT + T или совершить поиск по системе с поисковым запросом «Terminal» (без кавычек).

  1. Пропишите следующую команду в «Терминал» и нажмите Enter, чтобы установить утилиту Inxi:
  2. После этого у вас попросят ввести пароль, который вы указывали при установке ОС.
  3. В процессе загрузки и установки Inxi вам необходимо будет дать на это свое согласие, введя символ «Д» и нажав Enter.

После нажатия строки в «Терминале» побегут вверх — это значит что начался процесс установки. В итоге вам необходимо дождаться его окончания. Определить это вы можете по появившемуся вашему никнейму и имени ПК.

После установки вы можете проверить информацию о системе, введя следующую команду:

После этого на экран выведется следующая информация:

  • Host — имя компьютера;
  • Kernel — ядро системы и ее разрядность;
  • Desktop — графическая оболочка системы и ее версия;
  • Distro — имя дистрибутива и его версия.

Однако это далеко не вся информация, которую может предоставить утилита Inxi. Чтобы узнать все сведения, впишите команду:

В результате будет отображена абсолютно вся информация.

Способ 2: Терминал

В отличие от способа, про который будет рассказано в завершении, у этого есть одно неоспоримое преимущество — инструкция общая для всех дистрибутивов. Однако, если пользователь только-только пришел с Windows и еще не знает, что такое «Терминал», ему будет сложно адаптироваться. Но обо всем по порядку.

Если вам необходимо определить версию установленного дистрибутива Linux, то для этого существует немало команд. Сейчас будут разобраны самые популярные из них.

  1. Если интересует только информация о дистрибутиве без лишних подробностей, то лучше воспользоваться командой: после введения которой на экране появится информация о версии.

Если нужны более детальные сведения — введите команду:

Она выведет название, версию и кодовое имя дистрибутива.

Это была информация, которую встроенные утилиты собирают самостоятельно, но есть возможность посмотреть сведения, которые были оставлены самими разработчиками. Для этого нужно прописать команду:

Эта команда покажет абсолютно всю информацию о релизе дистрибутива.

Это не все, а лишь самые распространенные команды для проверки версии Linux, но их хватит с лихвой, чтобы узнать всю нужную информацию о системе.

Способ 3: Специальный инструмент

Данный способ отлично подойдет тем пользователям, которые только начали знакомиться с ОС на базе Linux и еще с опаской относятся к «Терминалу», так как в нем отсутствует графический интерфейс. Однако в этом методе есть и свои недостатки. Так, с помощью него нельзя узнать все подробности о системе сразу.

  1. Итак, чтобы узнать информацию о системе, вам необходимо войти в ее параметры. На разных дистрибутивах это выполняется по-разному. Так, в Ubuntu вам необходимо нажать левой кнопкой мыши (ЛКМ) по иконке «Параметры системы» на панели задач. Если после установки ОС вы вносили в нее какие-то коррективы и данный значок пропал с панели, то можно легко отыскать данную утилиту, произведя поиск по системе. Просто откройте меню «Пуск» и пропишите в поисковую строку «Параметры системы».

После входа в параметры системы вам необходимо отыскать в разделе «Система» значок «Сведения о системе» в Ubuntu или «Подробности» в Linux Mint, после чего нажать на него.

После этого появится окно, в котором будет находиться информация об установленной системе. В зависимости от используемой ОС, их обилие может разниться. Так, в Ubuntu указана лишь версия дистрибутива (1), используемая графика (2) и разрядность системы (3).

В Linux Mint информации больше:

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

Ошибка «unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)»

При использовании команды kex в Kali Linux (Win-KeX) может возникнуть ошибка:

unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)

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

TigerVNC Viewer 32-bit v1.10.80 Built on: 2020-06-15 22:33 Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst) See https://www.tigervnc.org for information on TigerVNC. Fri Sep 11 06:41:39 2020 DecodeManager: Detected 12 CPU core(s) DecodeManager: Creating 4 decoder thread(s) Fri Sep 11 06:41:41 2020 CConn: unable to connect to socket: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. (10061)

Для исправления этой ошибки нажмите Ctrl+c.

Затем введите команду

kex stop

Эта команда может вывести что-то вроде следующего:

Killing Win-KeX process ID 1618. which was already dead Cleaning stale pidfile '/home/mial/.vnc/HackWare-MiAl.localdomain:1.pid'! Cleaning stale x11 lock '/tmp/.X1-lock'! Cleaning stale x11 lock '/tmp/.X11-unix/X1'!

Вновь попробуйте открыть графический интерфейс:

На этот раз всё должно заработать:

Причина ошибки до конца не ясна — возможно, дело в неудачном старте VNC сервера или процесса Win-KeX, на это указывает строка «Win-KeX process ID 1618… which was already dead», то есть процесс уже мёртвый.

Командой kex stop мы принудительно останавливаем Win-KeX, который при следующем запуске работает нормально.

Основные команды PuTTY

Как говорилось ранее, для использования удаленного компьютера нам необходимо вводить различный набор команд. Их огромное множество, но для первоначального изучения достаточно знать лишь их небольшую часть.

ls — предназначена для вывода файлов, содержит в себе набор команд:

  • ls -la — выводит различные документы и показывает права доступа, включая имя создателя и владельца;
  • ls -lha — также выводит файлы, но показывает размер файла в байтах;
  • ls -lha | less — используется для постраничного просмотра документов.

cd — необходима для перемещения между директориями, например, cd перенаправляет пользователя в указанную папку, cd../ перемещает в верхний уровень, cd ~ открывает корневую папку.

echo — позволяет перемещать текст в файл. Например, если нам требуется создать новый текстовый документ или добавить текст в уже созданный файл, достаточно ввести «echo Привет, мир! >> new.txt».

sudo — наиболее используемая команда, означающая «SuperUser Do». Она позволяет выполнять любые команды от имени администратора.

df — дает возможность увидеть доступное дисковое пространство в каждом из разделов операционной системы. Синтаксис: df .

mv — используются для переименования файлов и перемещения их в другую директорию. Синтаксис: mv .

rm — если нужно удалить файлы или директорию целиком, то используйте эту команду. Синтаксис: rm .

cp — для копирования файлов и целых директорий воспользуйтесь этой строчкой. Синтаксис: cp .

mc — предназначена для запуска файлового менеджера Midnight Commander, который позволяет работать с файлами по FTP внутри консольного окна.

cat — наиболее популярная команда в Linux, позволяющая считывать данные из файлов и выводить их содержимое. Наиболее простой способ отображения содержимого в командной строке. Синтаксис: cat .

mkdir — позволяет создать одну или несколько директорий с указанным именем. Например, mkdir mdir1 mdir2 mdir3 добавит сразу 3 директории.

chmod — изменяет права доступа к файлам и каталогам. Синтаксис: chmod .

pwd — при первом запуске терминала мы оказываемся в домашнем каталоге пользователя. Если вдруг каталог был изменен, то проверить это можно с помощью данной команды.

touch — используется для создания любого типа файлов: от пустого txt до пустого zip. Синтаксис: touch .

man и —help — нужны для того, чтобы узнать информацию о команде и о том, как ее можно использовать (man). Например, «man cat» покажет доступную информацию о команде cat. Ввод имени команды и аргумента помогает показать, каким образом можно использовать команду, например, cd –help.

locate — предназначена для поиска файла в системе Linux.

Это была лишь небольшая часть команд, которые можно использовать при подключении по SSH. Если вы только начинаете изучать основы администрирования серверов, то этого списка будет достаточно.

Настройка сети из командной строки с помощью netsh

Для настройки сетевых параметров сервера при помощи командной строки Windows, воспользуемся командой netsh.

Сначала нам потребуется узнать имя сетевого адаптера, параметры которого нужно настроить. Введем команду:

В нашем случае это Ethernet0.

Чтобы изменить IP-адрес, маску подсети и шлюз по умолчанию выполните следующую команду

Формат команды для настройки основного DNS-сервера:

Чтобы настроить альтернативный DNS-сервер, нужно в команде использовать ключ index, определяющий приоритет данного DNS сервера:

На этом настройка IP параметров сетевой карты сервера завершена. Чтобы проверить правильность сделанных настроек воспользуйтесь командой:

Нюансы длинных путей в приложениях

Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:

IV. Часто задаваемые вопросы по теме статьи (FAQ)

Не работает терминальный сервер в Windows 10

Если у вас изначально не заработал терминальный сервер на windows 10 и количество rdp подключений ограничено одним. Либо если у вас после обновление сломался терминальный доступ, то давайте разбираться, что с этим делать.

Для начала запустите утилиту RDPConf.exe и посмотрите ее вывод.

Значение listener state намекает на то, что у нас проблемы и rdp wrapper не работает. Проблема тут в том, что практически под каждую версию Windows 10 нужен свой файл конфигурации rdpwrap.ini. Так как автор давно забросил свою программу, автоматически эти конфигурации не обновляются. Их нужно либо писать самому, если понимаешь, как именно, либо искать где-то в интернете. Проще всего посмотреть в обсуждении проблем в репозитории на github https://github.com/stascorp/rdpwrap/issues.

Для того, чтобы на моей версии windows 10 заработал терминальный сервер, я пошел в указанный выше репозиторий и нашел там файл конфигурации под свою версию системы. Я взял содержимое этого файла и добавил его в существующий файл C:Program FilesRDP Wrapperrdpwrap.ini в самый конец.

После этого запустил еще раз RDPConf.exe.

Статус изменился на . Теперь нужно перезагрузить компьютер. После этого запустите утилиту RDPCheck.exe и убедитесь, что можно подключиться второй учетной записью к компьютеру.

Как починить rdpwrap после обновления windows

Если вы нигде не можете найти файл конфигурации rdpwrap.ini под вашу версию системы, то можно попробовать сделать следующий трюк. В некоторых случаях это помогает. По крайней мере у меня так иногда получалось.

Вам нужно найти рабочую конфигурацию под максимально близкую к вам версию. Далее просто в текстовом редакторе поменяйте указанную там версию на свою. Если разница в версиях не сильно большая, может помочь. Я видел в issues на гитхабе информацию о том, что получалось сразу же после поломки терминального доступа после очередного обновления, отредактировать конфиг под новую версию и все снова продолжало работать.

Так же в одном из обсуждений на github была предложена утилита с автоматическим обновлением rdpwrap.ini. Называется Automatic RDP Wrapper installer and updater — https://github.com/stascorp/rdpwrap/pull/859. Описание и инструкция по использованию есть внутри архива. Судя по отзывам, штука неплохая, работает. Если кратко, то пользоваться так:

  1. Скачиваем архив
  2. Распаковываем в Program Files/RDP Wrapper
  3. От имени администратора запускаем Program Files/RDP Wrapper/autoupdate.bat
  4. Проверяем конфигурацию через RDPConf.exe и пробуем подключаться.

В целом про превращение windows 10 в сервер терминалов для одновременного подключения и работы нескольких пользователей по rdp у меня все. Все очень легко и просто, можно использовать по необходимости для решения прикладных задач.

Является ли создание сервера терминалов из Windows 10 нарушением лицензии?

Однозначно, да. У Microsoft есть отдельный продукт и отдельная программа лицензирования для работе в терминале. И все это стоит немалых денег. Так что создавая терминал из windows 10 вы точно нарушаете условия лицензионного соглашения.

Автор RDP Wrapper забросил свою программу?

Судя по всему, да. Обновлений давно не было. Меняются только конфигурационные файлы rdpwrap.ini, которые обновляет сообщество. Сама программа при этом не обновляется.

Можно ли не обновлять систему, чтобы не сломать терминальный доступ?

Я не рекомендую так делать. В настоящее время это очень опасно. В протоколе rdp регулярно находят уязвимости, через которые на ваш компьютер может попасть, к примеру, шифровальщик. Необходимо учитывать эти риски и время от времени обновляться, либо полностью закрывать несанкционированный доступ к компьютеру.

Ошибка выглядит в виде небольшого окна с описанием проблемы, которое всплывает при попытке удалить/копировать/запустить определенный файл. Убрать ее можно переименованием ряда папок, отключением ограничения числа символов в имени или при помощи сторонних программ. Рассмотрим каждый способ детально, чтобы вы знали, как решить проблему своими силами.

  • Почему возникает ошибка «файловая система не поддерживает такие длинные имена»
  • Как решить проблему
    • Переименование
    • Выключение ограничения
    • Unlocker
    • Total Commander
    • Архиватор 7-Zip
    • Сокращение пути через ссылку

    Почему возникает ошибка «файловая система не поддерживает такие длинные имена»

    Во всех версиях ОС Windows у каждого файла есть свое имя. Но обычно все данные не хранятся в одном месте, а распределяются (систематизируются) по папкам, чтобы их легче было найти. Внутри одной папки, например «Изображения», мы создаем подпапки «Природа», «Семья», «Работа» и так далее. В разделе «Семья» могут быть дополнительные папки «Отдых на море 2023», «Свадьба», «Шашлыки на даче» и прочее.

    Когда происходит обращение к файлу (для удаления, воспроизведения или копирования), файловая система воспринимает весь путь к нему (названия всех папок), как одно имя. Это можно увидеть в строке Проводника.

    Названия складываются вместе с названием конечного файла. В операционной системе Windows 7, 8, 10 установлено ограничение на общую длину такого имени файла в 255 символов. Это сделано для легкого взаимодействия с другими ОС, если понадобится объединить их в общую сеть.

    В Windows XP такого ограничения нет. XP имеет файловую систему FAT32, у которой есть ограничение на размер файла 4 ГБ. Большой фильм в формате 8К на такой ОС уже не сохранить. Последующие версии Windows имеют систему NTFS, позволяющую загружать файлы любого размера.

    При превышении ограничения символов имени в Windows возникает ошибка: файловая система не может работать с такими длинными названиями. В результате, если это фото, документ, видео или музыка, файл нельзя открыть, удалить или скопировать.

    Ошибка «файловая система не поддерживает такие длинные имена»

    Более подробно прочитать обо всех ограничениях относительно имен в ОС Windows можно здесь.

    Как решить проблему

    Поскольку при обращении к файлу система воспринимает путь к нему как имя, его не получится убрать из глубокой папки и сохранить на рабочем столе для легкого доступа. Всегда будет возникать эта ошибка, поэтому решение проблемы кроется в изменении длины пути. Сделать это можно несколькими способами.

    Переименование

    Помня об ограничении длины в 255 символов, нужно сократить названия некоторых папок, через которые пролегает путь к файлу. Самый простой вариант – задать им числовые имена вместо слов. Например: «1», «2», «3».

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

    Попробуйте сократить названия, используя несколько букв, а не целые слова. Например: вместо «фотографии» – «фото», вместо «оборудование» – «оборуд». Задайте и конечному файлу более короткое имя. После этого повторите попытку открытия или удаления.

    Выключение ограничения

    Ограничение в 255 символов можно просто отключить в реестре ОС, если не планируется взаимодействие в другими компьютерами по общей сети. Для этого проделайте следующее:

    1. Введите команду WIN+R.
    2. В открывшейся строке напишите regedit и нажмите Enter.
    3. Запустится окно с реестром. Выберите папку HKEY_LOCAL_MACHINE.
    4. В ней пройдите по пути, указанному на фото до файла Long Paths Enable.
    5. Задайте ему значение «1».

    Выключение ограничения на длину имени файла

    Чтобы было лучше видно полное имя файлов в реестре, мышкой сдвиньте границу в таблице названий влево, предоставив больше места.

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

    Unlocker

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

    При удалении с помощью Unlocker файл исчезнет, минуя корзину. Восстановить его будет невозможно.

    Total Commander

    Программа имеет закрытый исходный код и выполняет роль файлового менеджера. Она создает собственную «среду» внутри операционной системы и предоставляет путь к файлам, закрытый для штатных средств Windows. Скачайте программу, ознакомьтесь со структурным деревом каталога, найдите свой файл в привычном месте или через поиск.

    В Total Commander поиск более расширенный, чем в Windows. Программа может найти файл не только по названию, но даже по часто встречающимся словам внутри документа.

    Архиватор 7-Zip

    Программа 7-Zip предназначена для архивирования файлов, но у нее есть встроенный менеджер. Он не учитывает длину пути к конечному файлу, поэтому открывает доступ к работе с теми данными, которые не поддерживаются штатной файловой системой.

    Скачайте архиватор, запустите менеджер. В открывшемся окне удаляйте, копируйте файлы с длинным путем или создавайте новые папки и помещайте туда нужные фото, музыку, видео. В директории это будет отображаться корректно.

    Создавая новые папки с 20–30 ступенчатой структурной иерархией и помещая туда содержимое, можно надежно спрятать важные документы, поскольку при помощи обычного Проводника Windows их не открыть.

    Сокращение пути через ссылку

    У каждой папки в свойствах есть указатель расположения в разделе «Общее». При обращении к папке задействуется этот путь. Сократить его можно, заменив укороченной ссылкой.

    1. В поле поиска на панели задач введите «Командная строка».
    2. В черном окне введите mklink /D «C:короткий путь».
    3. Далее скопируйте полный путь из свойств папки и вставьте его сюда же.

    Система создаст короткую ссылку и будет обращаться к ней, а не к длинному полному названию. После этого можно создавать новые файлы – короткий путь будет автоматически привязываться к ним.

    Подводим итоги

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

    А теперь можете закрепить информацию, посмотрев ролик о том, как исправить ошибку слишком длинного пути к файлу:

    При попытке скопировать, переместить и удалить файлы или папки система может заблокировать это действие ошибкой «слишком длинный целевой путь». Она возникает по причине того, что Windows имеет ограничение на длину пути, число символов в котором не должно превышать 260 символов.

    Проблема возникает на уровне вложенности приложений и не связана с ограничением NTFS. В этом случае количество символом ограничивается библиотекой Win32 API. Поэтому большинство стандартных приложений, включая проводник Windows, не будут обрабатывать объекты, длина пути к которым превышает 260 символов.

    Переименование расширений

    Если ошибка возникает при перемещении архивных файлов Zip или Rar, попробуйте временно переименовать их в формат «txt» и после переноса вернуть обратно.

    Для этого щелкните правой кнопкой мыши на архив и выберите «Переименовать». Затем измените расширение на «txt».

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

    После перемещения файла, верните ему первоначальное расширение (zip или rar).

    Если этим способом не удалось переместить архивы по причине слишком длинного целевого пути, перейдите к следующему решению.

    Удаление с помощью утилиты DeleteLongPath

    Если нужно удалить папку, которая вложена по слишком длинному пути, попробуйте сделать это с помощью бесплатной утилиты DeleteLongPath. Она предназначена для удаления структуры папок и всех содержащихся в ней вложенных объектов.

    Сделайте запрос в интернете «DeleteLongPath» и перейдите на указанный сайт.

    После загрузки извлеките файл из zip-архива и откройте.

    Кликните на кнопку «Обзор», чтобы указать расположение папки, и нажмите на «Удалить». В следующем окне подтвердите действие, и дождитесь завершения удаления.

    Включение поддержки для работы с глубоко вложенными объектами

    В Windows 10 (сборка 1607 и выше) есть возможность отключить ограничение MAX_PATH на системном уровне. Выполните следующие шаги.

    Откройте Редактор реестра командой regedit из окна «Выполнить» (Win + R).

    Раскрывая вложенную структуру на левой панели, перейдите в следующий раздел:

    HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control – FileSystem

    В разделе FileSystem дважды кликните на параметре LongPathsEnabled, чтобы перейти в его установки.

    В поле «Значение» установите «1» и примените изменения на «ОК».

    Закройте Редактор реестра и попробуйте выполнить действия с папками, которые не удавались из-за ошибки слишком длинного целевого пути.

    Использование команды xcopy

    Если по-прежнему не удается скопировать папку, целевой путь к которой слишком длинный, попробуйте это сделать с помощью команды xcopy, запущенной из командной строки с правами администратора.

    Запустите командную строку от имени администратора с помощью системного поиска.

    В консоли запустите следующую команду:

    xcopy *путь к источнику* *папка назначения* /O /X /E /H /K

    Копирование должно произойти без ошибки.

    слишком длинный целевой путь при копировании что делать windows 7

    Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.

    Описание проблемы длинных путей

    Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?.

    Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:

    Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:

    слишком длинный целевой путь при копировании что делать windows 7

    Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».

    слишком длинный целевой путь при копировании что делать windows 7

    Вот ошибка при извлечении архива в сетевую папку:

    слишком длинный целевой путь при копировании что делать windows 7

    Методы снимающие ограничения на длину пути в Windows

    Нюансы длинных путей в приложениях

    Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

    Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

    Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \?, то групповые политики вам это помогут.

    Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.

    слишком длинный целевой путь при копировании что делать windows 7

    Далее идем по пути:

    Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

    слишком длинный целевой путь при копировании что делать windows 7

    Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

    Включение поддержки длинных путей через реестр

    Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:

    тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.

    слишком длинный целевой путь при копировании что делать windows 7

    Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.

    слишком длинный целевой путь при копировании что делать windows 7

    Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:

    Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

    Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.

    слишком длинный целевой путь при копировании что делать windows 7

    Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями

    Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

    Запустите командную строку в режиме администратора и введите:

    слишком длинный целевой путь при копировании что делать windows 7

    Обход ограничений длинных путей через 7zFM

    Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.

    слишком длинный целевой путь при копировании что делать windows 7

    Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

    Для создания новой папки нажмите клавишу F7.

    слишком длинный целевой путь при копировании что делать windows 7

    Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.

    слишком длинный целевой путь при копировании что делать windows 7

    В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

    слишком длинный целевой путь при копировании что делать windows 7

    Проверяем, что директория доступна через проводник Windows.

    слишком длинный целевой путь при копировании что делать windows 7

    Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.

    слишком длинный целевой путь при копировании что делать windows 7

    Как обойти ограничение длинных путей через символьную ссылку

    Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:

    слишком длинный целевой путь при копировании что делать windows 7

    Нам поможет команда mklink, где ключ /D создает ссылку на каталог

    Ошибка «Слишком длинный целевой путь» – что делать?

    При попытке скопировать, переместить и удалить файлы или папки система может заблокировать это действие ошибкой «слишком длинный целевой путь». Она возникает по причине того, что Windows имеет ограничение на длину пути, число символов в котором не должно превышать 260 символов.

    Проблема возникает на уровне вложенности приложений и не связана с ограничением NTFS. В этом случае количество символом ограничивается библиотекой Win32 API. Поэтому большинство стандартных приложений, включая проводник Windows, не будут обрабатывать объекты, длина пути к которым превышает 260 символов.

    Переименование расширений

    Если ошибка возникает при перемещении архивных файлов Zip или Rar, попробуйте временно переименовать их в формат «txt» и после переноса вернуть обратно.

    Для этого щелкните правой кнопкой мыши на архив и выберите «Переименовать». Затем измените расширение на «txt».

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

    После перемещения файла, верните ему первоначальное расширение (zip или rar).

    Если этим способом не удалось переместить архивы по причине слишком длинного целевого пути, перейдите к следующему решению.

    Удаление с помощью утилиты DeleteLongPath

    Если нужно удалить папку, которая вложена по слишком длинному пути, попробуйте сделать это с помощью бесплатной утилиты DeleteLongPath. Она предназначена для удаления структуры папок и всех содержащихся в ней вложенных объектов.

    Сделайте запрос в интернете «DeleteLongPath» и перейдите на указанный сайт.

    После загрузки извлеките файл из zip-архива и откройте.

    Кликните на кнопку «Обзор», чтобы указать расположение папки, и нажмите на «Удалить». В следующем окне подтвердите действие, и дождитесь завершения удаления.

    Включение поддержки для работы с глубоко вложенными объектами

    В Windows 10 (сборка 1607 и выше) есть возможность отключить ограничение MAX_PATH на системном уровне. Выполните следующие шаги.

    Откройте Редактор реестра командой regedit из окна «Выполнить» (Win + R).

    Раскрывая вложенную структуру на левой панели, перейдите в следующий раздел:

    HKEY_LOCAL_MACHINE – SYSTEM – CurrentControlSet – Control – FileSystem

    В разделе FileSystem дважды кликните на параметре LongPathsEnabled, чтобы перейти в его установки.

    В поле «Значение» установите «1» и примените изменения на «ОК».

    Закройте Редактор реестра и попробуйте выполнить действия с папками, которые не удавались из-за ошибки слишком длинного целевого пути.

    Использование команды xcopy

    Если по-прежнему не удается скопировать папку, целевой путь к которой слишком длинный, попробуйте это сделать с помощью команды xcopy, запущенной из командной строки с правами администратора.

    Запустите командную строку от имени администратора с помощью системного поиска.

    В консоли запустите следующую команду:

    xcopy *путь к источнику* *папка назначения* /O /X /E /H /K

    Выбираем длинный путь (или прощай MAX_PATH)

    слишком длинный целевой путь при копировании что делать windows 7

    Многим пользователям ПК под управлением ОС Windows, не говоря о разработчиках, знакомы проблемы при работе с длинными (более 260 символов, MAX_PATH) путями файлов или каталогов.

    Приложения Win API

    В приложениях, которые используют Win API для работы с файлами, рецепт избавления от ограничения MAX_PATH был известен с незапамятных времён – необходимо было использовать Unicode версию функции с окончанием «W» для работы с директорией или файлом и начинать путь с префикса \?. Это давало возможность использовать пути длинной до 32767 символов.

    В Windows 10 (1607) поведение функций для работы с файлами изменилось: появилась возможность отключить проверку ограничений MAX_PATH на уровне системы.

    Это избавляет от необходимости использовать префикса \? и потенциально даёт шанс приложениям, работающим напрямую или косвенно через Win API, получить поддержку длинных путей без необходимости их пересборки. Как активировать эту возможность описано в конце статьи.

    .Net Framework

    .Net Core

    Тут поддержку длинных путей анонсировали ещё в ноябре 2015 года. Видимо сказалось Open Source природа проекта и отсутствие строгой необходимости обеспечения обратной совместимости.

    Вот тут можно посмотреть пример.

    Как включить поддержку длинных путей в Windows 10 (1607)

    Эта возможность по умолчанию отключена. Это объясняется тем, что данная функция является экспериментальной, и имеется необходимость дорабатывать различные подсистемы и приложения для полной поддержки.

    Включить встроенную поддержку длинных путей можно создав или изменив следующий параметр системного реестра: HKLMSYSTEMCurrentControlSetControlFileSystem Параметр LongPathsEnabled (Тип: REG_DWORD) 1 – соответствует значению включено.

    слишком длинный целевой путь при копировании что делать windows 7

    Или через групповые политики (Win+Rgpedit.msc) Computer Configuration > Administrative Templates > System > Filesystem > Enable NTFS long paths.Оно же в локализованном варианте: Конфигурация компьютера > Административные шаблоны > Система > Файловая система > Включить длинные пути Win32.

    слишком длинный целевой путь при копировании что делать windows 7

    Далее источники расходятся во мнении относительно манифеста (или я неправильно понял, но на данный момент проверить не имею возможности). Например, в документации MSDN написано, что манифест можно использовать в качестве альтернативного способа активации поддержки длинных путей в отдельных приложениях, а в блоге MSDN указано, что это является вторым обязательным шагом после активации в политиках.
    Но они сходятся в формате задания данной опции:

    С CMD, к сожалению, это не сработает, на данный момент, из-за особенностей работы с путями, а в PowerShell должно всё заработать.

    На этом мой небольшой пятничный пост заканчивается, оставив за рамками вопросы полноты реализации поддержки длинных путей в Windows 10 (1607), или работоспособность при использовании различных комбинаций редакций Windows, файловых систем и API. По мере поступления новых фактов и результатов экспериментов пост будет обновляться.

    Сбой операции копирования файлов, если у файлов или папок длинные пути, в проводнике

    Симптомы

    Рассмотрим следующий сценарий:

    У вас есть компьютер под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012 Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 Пакет обновления 1 (SP1).

    Попробуйте скопировать файлы или папки, чтобы вставить их в другую папку с помощью проводника Windows.

    Файлы или папки, которые вы поместите имеют пути, длина которых превышает максимальную допустимую длину пути.

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

    Операция копирования не выполняется и генерирует сообщение о том, что указан слишком длинный путь (имя файла). Сообщение также предлагает Сократите имя файла и повторите попытку копирования.

    Операция копирования не запускается. В этом случае сообщение не формируется.

    Операция копирования начинается, копирует несколько файлов или папок и затем завершается неудачей без выдачи сообщения.

    Эта проблема может препятствовать копированию некоторых файлов или папок. Отсутствие сообщений об ошибке не свидетельствует об отсутствии ошибки в системе. Различные проблемы могут возникнуть в зависимости от того, как файлы выбраны для копирования.

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

    Причина

    Эта проблема возникает из-за особенности в способе обработки Windows ошибок длинных путей.

    Решение

    Для решения этой проблемы для Windows 8.1, Windows Server 2012 R2, Windows 8, andWindows Server 2012 установите накопительный пакет обновления.
    Для решения этой проблемы для Windows 7 и Windows Server 2008 R2, установите исправление, описанное в данной статье.

    Сведения об обновлении для Windows 8.1, Windows Server 2012 R2, Windows Server 2012 и Windows 8

    Для решения этой проблемы установите накопительный пакет обновления, выпущенного апрель 2012 г. и 2014 ноября.

    Сведения об исправлении для Windows 7 и Windows Server 2008 R2

    Доступно исправление от службы поддержки Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

    Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.

    Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы просмотреть полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

    Примечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

    Предварительные условия

    Для установки этого исправления необходимо иметь для Windows 7 или Windows Server 2008 R2 установлен.

    Необходимость перезагрузки

    После установки исправления компьютер необходимо перезагрузить.

    Сведения о замене исправлений

    Это исправление не заменяет все ранее выпущенные исправления.

    Английский (США) версия данного исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

    Информация о файлах для Windows 7 и Windows Server 2008 R2 и примечанияВажно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

    Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SP n) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.

    Выпуски обновлений GDR содержат только те исправления, которые выпускаются повсеместно и предназначены для устранения распространенных крайне важных проблем. В обновления LDR входят также специализированные исправления.

    Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, указаны отдельно в разделе «Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». Файлы MUM и MANIFEST, а также связанные файлы каталога безопасности (CAT) чрезвычайно важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

    Статус

    Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

    Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2

    Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7

    Ссылки

    Узнайте о Корпорация Майкрософт использует для описания обновлений программного обеспечения.

    Вадим Стеркин

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

    [+] Сегодня в программе

    Слишком длинный целевой путь или имя файла

    При попытке восстановить я получил ошибку о том, что путь до файла слишком длинен, и ничего с ним сделать нельзя. Т.к. это копия vss переименоватьскопироватьпереместить я его не смог. Бился целый день, но выхода так и не нашел.

    И неудивительно, с таким-то путем! 🙂

    Графический интерфейс теневых копий выпилили только из Windows 8, а на серверной ОС он сохранился, и свойства папки выглядят аналогично Windows 7.

    слишком длинный целевой путь при копировании что делать windows 7

    Снимок экрана любезно предоставил Вадимс Поданс

    Как обойти ограничение на создание файла с длинным путем

    Понятно, что восстановление [Restore] при таком длинном пути не сработает – ведь нужно скопировать файл в исходное расположение. Но я сходу не понял, почему возникли затруднения с копированием файла в любое другое место [Copy] – главное же было вернуть файл пользователю. Проводник же может скопировать файл из длинного пути.

    Так или иначе, я получил письмо в метро, и поэтому с телефона по-быстрому отправил ответ, который должен был обойти препятствие. Я предложил создать символическую ссылку на часть пути:

    Теперь копирование файла в C:link должно было вернуть его на прежнее место. И это сработало 🙂

    Такое решение пришло мне в голову не случайно – ведь вопрос был о теневых копиях, а я уже пару раз рассказывал, как войти в них с помощью символической ссылки. Позже, когда я готовил эту заметку и рылся в своей записной книжке, всплыло и другое решение, которым я делился три года назад.

    Команда subst сопоставляет папку букве диска, и при желании одной командой можно моментально занять все буквы! В принципе, если путь супер-длинный, это может пригодиться, т.к. придется создавать серию сопоставлений.

    Эксперимент

    Хотите проверить, как все выглядит на практике? Я подготовил для вас CMD-файл (скачать), этапы работы которого вы можете наблюдать в проводнике. Запускайте файл от имени администратора, иначе символическая ссылка не получится. Я проверял работу файла только в Windows 8.1, но он должен работать и в предыдущих ОС.

    Поскольку пояснения кириллические, файл нужно сохранять в кодировке MS-DOS (подсказка – у вас всегда есть WordPad 🙂

    Прежде чем удалять все файлы на последнем шаге, вы можете поиграть с созданными файлами и папками в файловом менеджере. Вы увидите разные сообщения. Например, при попытке копирования файла в папку:

    слишком длинный целевой путь при копировании что делать windows 7

    При создании нового текстового документа (стандартное имя длинное):

    слишком длинный целевой путь при копировании что делать windows 7

    Разные консольные команды тоже на свой лад сообщают об ограничении.

    Дискуссия

    Вообще, длина пути в 260 символов это анахронизм, хотя я не припоминаю, когда сталкивался с ограничением в последний раз. Однако я уже давно не раскладываю все по папочкам, и уж тем более с такими адскими именами.

    А вы давно сталкивались с ограничением на длину пути? Напишите в комментариях, как вы справились с проблемой или какое еще решение вы знаете. Я специально не указал все решения задачи:)

    Upd. В комментариях читатели поделились своим опытом по обходу ограничения на длину пути:

    Об авторе

    Вас также может заинтересовать:

    Я в Telegram

    Подпишитесь на канал и читайте интересные записи чаще! Есть вопросы? Задайте их в чате.

    комментариев 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, он тебе перекачивает, потом говорит, что ай ай ай длинное имя. Но не дает возможности переименовать или что-то еще. Только пропустить и прервать. А вы понимаете, что потом заниматься поиском пропущенных файлов ой как не хочется. Так вот, как на таком этапе дешевле всего решить проблему?

    слишком длинный целевой путь при копировании что делать windows 7

    Гамлет Принцдатский

    Я решил эту проблему через подключение сетевого диска. Подключаем сетевой диск на папку выше той папки, где удален файл ну, а дальше восстанавливаем файл

    А что мешало восстановить в любую папку локального диска?

    слишком длинный целевой путь при копировании что делать windows 7

    Гамлет Принцдатский

    Vadim Sterkin: А что мешало восстановить в любую папку локального диска?
    »

    Отсутствие свободного места на локальном диске.

    Я храню разные заметки по работе в многих папках и подпапках. А иногда в такой под-под-под-…папке сохраняю вэб-страницу с длинным исходным названием. И все бы ничего — но при попытке скопировать эту структуру, например, из rar-архива на домашний компьютер — получаю отказ.
    Есть ли какое-то средство (программа) для мониторинга/проверки текущей структуры папок-файлов на приближение к 250символам?

    OneNote и поиск по нему — отличная замена маниакальной вложенности папок.

    Спасибо. А файлики в документ OneNote можно вложить/прикрепить?

    Проблемы с ограничением на длину файлов — постоянная проблема тех, кто сохраняет страницы из веба целиком. Если только не перенести предлагаемую по умолчанию папку загрузок. При этом, как правило, браузеры позволяют создавать такие файлы/каталоги, а система не позволяет их копировать, или читать.

    Я после приобретения компа поставил три оси на три раздела- win xp, win 7 32bit, win 7 64 bit.- к первой я привык, а семёрки поставил т.к. на сайте произв матплаты не было драйверов для XP, только для 7- комп 2012 г вып. Захотел переместить сохранённые интернет-страницы, а семёрка сказала- длинные имена. Перезагрузил на ХР и всё переместил без возражений. Так паранойя ( иметь несколько осей на всякий пожарный) спасла.

    слишком длинный целевой путь при копировании что делать windows 7

    Максим Левин

    Копируйте файлы с помощью файлового менеджера Total Commander и не морочтесь)

    Максим, без ТС вы лапки вверх поднимите сразу?

    Приветствую
    Сейчас на вин 10
    Заметил что перестали копироваться некоторые файлы через софт синхронизации, попробовал скопировать вручную — ошибка «файловая система не поддерживает такие длинные имена …», подумал может с внешним винтом что, форматнул его, ничего не изменилось. Работал с этими файлами еще на вин7, потом на вин8-8.1 проблем не замечал, может поддержка както выключилась?
    теперь эти файлы не копируются и не удаляются (только через unlocker), ошибок на диске не обнаружены

    слишком длинный целевой путь при копировании что делать windows 7

    Дмитрий Львов

    Когда давалось бесплатное обновление на Windows 10 обновился с 8. Однако пользоваться сырой системой не хотел. Забэкапил ее с помощью акрониса. Сейчас хочу восстановить. Установил пиратскую 10 и подключил как диск резервную копию. Из него хочу скопировать файлы оригинальной системы, чтобы потом заменить ими пиратку. При копировании в отдельную папку столкнулся со слишком длинными именами и путями. Подскажите, есть ли файловый менеджер которая обходит при копировании все эти ограничения?

    Александр, все ответы есть в статье

    слишком длинный целевой путь при копировании что делать windows 7

    Иван Костров

    Спасибо, очень помогли ваши статьи спасти файлы после трояна-шифратора.

    слишком длинный целевой путь при копировании что делать windows 7

    Андрей Парсаданян

    Супер! Это помогло исправить ошибку uTorrent:
    Системе не удается найти указанный путь.
    Спасибо.

    слишком длинный целевой путь при копировании что делать windows 7

    Юрий Сергеевич

    Проблема высасана из пальца.
    1) Архивируем нужное в iso архив с помощью UltraISO
    2) Копируем(перемещаем) в целевую папку
    3) Извлекаем из архива всё той же UltraISO.

    Решение высосано из пальца. Это дольше, да и вообще не прокатит, если UltraISO нет, а покупать его организация не будет.

    Far помог, прочитал у Вас в блоге.
    столкнулся когда разархивировал бэкап сайта из Unix системы.

    p.s.
    и заодно удалил папку которая имело неизвестное количество вложенности, которую виндовс не удалял никаким макаром, robocopy и bat не помогал (он помог переименовать в 1символ что не уменьшило длину пути).

    в общем остатки от вируса на Unix легко скопировался в виндовс и не удалялся стандартными средствами.
    Неясно конечно как ОНО изначально скопировалось обычными средствами виндовс.

    Когда-то искал решение подобной проблемы.
    Помогла небольшая утилитка Long Path Fixer for Windows.
    Бесплатная, безустановочная.
    С ее помощью можно переместить, скопировать, или удалить любой файл с любой длиной пути.

    Слишком длинный путь к источнику

    Описание

    При попытке удалить или переместить файл, появляется ошибка:

    Слишком длинный путь к источнику.
    Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длинной пути или укажите более короткое имя файла и повторите попытку.

    Причина

    По умолчанию, операционная система Windows настроена на блокирование действий над файлами в проводнике, путь к которым более 255 символов.

    Решение

    Способ 1. Уменьшаем путь до файла

    Есть несколько способов сократить путь до нужной нам папки.

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

    2. Создаем символьную ссылку на конечный путь. Это можно сделать командой:

    mklink /d «C:Папка0» «C:ПапкаПапка 2Папка 3 Папка 4Папка 5»

    * в данном примере перейдя по пути C:Папка0, мы окажемся в папке C:ПапкаПапка 2Папка 3 Папка 4Папка 5.

    3. Сопоставляем папку букве диска с помощью команды subst:

    subst S: «C:ПапкаПапка 2Папка 3 Папка 4Папка 5»

    * в данном примере мы создадим диск S, который будет вести нас в папку C:ПапкаПапка 2Папка 3 Папка 4Папка 5.

    Способ 2. Включаем поддержку длинных файлов

    Данный способ поддерживается, начиная с Windows 10 / Server 2016.

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

    Открываем реестр (команда regedit) и переходим по пути HKLMSYSTEMCurrentControlSetControlFileSystem. Находим или создаем ключ LongPathsEnabled с типом REG_DWORD и задаем ему значение 1.

    Это же действие из командной строки:

    reg delete «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /f

    reg add «HKLMSYSTEMCurrentControlSetControlFileSystem» /v LongPathsEnabled /t REG_DWORD /d 1

    * первая команда, на всякий случай, удалит старый параметр (если его нет, команда вернет ошибку). Вторая — создаст нужный нам ключ.

    Способ 3. Far Manager

    Устанавливаем программу Far Manager — переходим в нужный каталог и выполняем нужные действия над файлами.

    Иногда, данный способ работает только после того, как мы включили поддержку длинных имен (способ 2).

    Способ 4. Укорачиваем сетевой путь

    Настраиваем сетевой доступ к папке и подключаем ее как сетевой диск. Путь станет меньше.

    Например, это можно сделать командой:

    net use J: \servershare /persistent:yes

    * данной командой мы создадим диск J, который будет вести на сетевую папку \servershare.

    Способ 5. Используем командную строку

    Если нам нужно скопировать или перенести небольшое количество файлов, мы можем воспользоваться командной строкой. Для копирования используем xcopy, для переноса — move.

    В чем была проблема?

    Если вам удалось решить проблему, поделитесь своим опытом для других. Что помогло:

    Как исправить проблему «Имя файла слишком длинное» в Windows

    Как включить поддержку длинных путей в windows 7

    Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.

    Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.

    Почему длина имени файла является проблемой в Windows?

    Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.

    Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?

    Как включить поддержку длинных путей в windows 7

    В 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.

    Как включить поддержку длинных путей в windows 7

    Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.

    Как включить поддержку длинных путей в windows 7

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

    Параметры для Windows 10 Pro или Enterprise

    Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.

    Как включить поддержку длинных путей в windows 7

    После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.

    Как включить поддержку длинных путей в windows 7

    Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.

    Как включить поддержку длинных путей в windows 7

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

    Как временно исправить проблему с файлами?

    Легкое Исправление

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

    Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.

    Менее простые исправления

    Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.

    Следующие решения помогут вам. Их несложно сделать.

    Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell
    Иногда вы получаете сообщение об ошибке при попытке переместить, удалить или скопировать каталоги, где количество символов для пути к файлу превышает 260.

    Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.

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

    Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.

    Как включить поддержку длинных путей в windows 7

    Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?

    Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:Usersguymc — ваш пользовательский каталог.

    Как включить поддержку длинных путей в windows 7

    Вы увидите быстрое изменение текущего каталога на C:UsersguymcDocuments. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.

    Копирование каталога с использованием Copy-Item

    Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.

    -Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.

    Как включить поддержку длинных путей в windows 7

    Переместить каталог с помощью Move-Item

    Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.

    Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.

    Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.

    Как включить поддержку длинных путей в windows 7

    Как включить поддержку длинных путей в windows 7

    Удалить каталог с помощью Remove-Item

    Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.

    Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.

    Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.

    Как включить поддержку длинных путей в windows 7

    Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.

    Вот и все

    Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.

    Как включить поддержку длинных путей в windows 7

    Как включить поддержку длинных путей в windows 7

    Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали возможности утилиты PING, рассмотрели как ее применять на практике. В сегодняшней публикации я вам покажу, как устраняется боль и печаль в операционных системах Windows, я говорю про длинные пути, в своей практике я очень часто встречал жалобы «Слишком длинный целевой путь» или «Слишком длинный конечный путь«, то же самое вы можете встретить и при удалении. Ниже я покажу, как выкручиваться из данной ситуации.

    Описание проблемы длинных путей

    Тем не менее, файловая система Windows по-прежнему накладывает некоторые ограничения, например, какие символы могут использоваться в именах файлов и общую длину путей. Некоторое время максимальная длина пути составляла 260 символов, но с появлением Windows 10, часть ограничений начала потихоньку уходить, например для приложений и появилась возможность отключить проверку MAX_PATH и использовать длинные пути без префикса \?.

    Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \?, например так:

    Большинство людей может и не столкнуться с ней, а вот почти каждый системный администратор обязательно это увидит. Тут все дело в том, что в большинстве организаций есть свои сетевые файловые ресурсы, через которые пользователи производят обмен и работу с документами. В какой-то момент люди могут создать такой путь, который будет 258 или 260 символов, попытаются туда скопировать файл, а им выдастся ошибка:

    Как включить поддержку длинных путей в windows 7

    Тоже самое при копировании в папку, так же выскакивает «Слишком длинный целевой путь».

    Как включить поддержку длинных путей в windows 7

    Вот ошибка при извлечении архива в сетевую папку:

    Как включить поддержку длинных путей в windows 7

    Методы снимающие ограничения на длину пути в Windows

    Нюансы длинных путей в приложениях

    Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

    Если вы разработчик, то чтобы ваше приложение имело возможность работать с длинными путями Windows, в манифесте обязательно указывайте следующие настройки:

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

    Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки «Слишком длинный целевой путь» или «Слишком длинный конечный путь» в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \?, то групповые политики вам это помогут.

    Покажу для начала, как делать через локальную политику, открываете окно «Выполнить» в котором пишите gpedit.msc.

    Как включить поддержку длинных путей в windows 7

    Далее идем по пути:

    Найдите тут параметр «Включить длинные пути Win32 (Enable Win32 long paths)«, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

    Как включить поддержку длинных путей в windows 7

    Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении «Слишком длинный целевой путь» или «Слишком длинный конечный путь«. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

    Включение поддержки длинных путей через реестр

    Данный метод ни чуть не сложнее предыдущего и делает все то же самое, включает поддержку длинных путей свыше 256 символов для приложений Windows. Когда вы что-то меняете через редактор политик, по сути меняются настройки в реестре, это нужно помнить и знать. Сейчас я вам покажу какой ключ меняется. Откройте редактор реестра Windows. Перейдите в раздел:

    тут вам необходимо найти параметр LongPathEnabled, которому для активации поддержки длинных путей и изменения ограничений в MAX_PATH, нужно задать значение «1». Тут потребуется перезагрузка.

    Как включить поддержку длинных путей в windows 7

    Все что вам нужно, это распаковать zip-архив и запустить нужный файл активации, потом так же перезагрузиться, так как у вас будет создан нужный ключ реестра, без необходимости лезть в реестр самостоятельно.

    Как включить поддержку длинных путей в windows 7

    Еще вы можете сделать такую поддержку и для конкретного пользователя по пути:

    Если там нет ключа LongPathsEnabled, то создайте его, тип DWORD (32 бита) и значение 1.

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell

    Не все люди готовы копаться в редакторах и реестрах, им нужно быстрое решение, одним из таких является PowerShell. В оболочке выполните команду для активации параметра «Включить длинные пути Win32 (LongPathEnabled)». Не забываем перезагрузить систему.

    Как включить поддержку длинных путей в windows 7

    Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями

    Разобравшись с тем, как отключить проверку MAX_PATH в приложениях, давайте теперь поймем и научимся решать проблему длинных путей на файловых шарах и просто в проводнике. Классическая ситуация, когда пользователь попытался перенести свой файл или удалить его, создать папку и так далее, и он получает ошибку с пресловутыми длинными путями. Он просит разобраться вас и тут начинаются танцы с бубнами, вы просите его либо переименовать часть пути, или попросить его произвести действия в другом расположении, или просто забить, сказав, что виновата Windows со своими ограничениями, но мы же с вами профессионалы и инженеры, поэтому должны уметь выходить из таких ситуаций.

    Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку

    Запустите командную строку в режиме администратора и введите:

    Как включить поддержку длинных путей в windows 7

    Обход ограничений длинных путей через 7zFM

    Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением «Слишком длинный целевой путь» или «Слишком длинный конечный путь». Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.

    Как включить поддержку длинных путей в windows 7

    Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

    Для создания новой папки нажмите клавишу F7.

    Как включить поддержку длинных путей в windows 7

    Задайте необходимое вам имя, в моем примере это будет «БОльше 260 Microsot«.

    Как включить поддержку длинных путей в windows 7

    В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

    Как включить поддержку длинных путей в windows 7

    Проверяем, что директория доступна через проводник Windows.

    Как включить поддержку длинных путей в windows 7

    Все прекрасно отображается. Теперь я думаю вы легко сможете переносить, копировать, удалять файлы через 7zFM, когда вам проводник Windows ругается на наличие длинных путей.

    Как включить поддержку длинных путей в windows 7

    Как обойти ограничение длинных путей через символьную ссылку

    Такой трюк мы с вами уже проделывали, когда нужно было переносить IMAP профиль у Outlook. Смысл в том, что создается файл в нужном вам месте, и этот файл это просто ярлык ссылающийся на нужный вам файл или папку, после этого путь сокращается и вы можете удалять или создавать все что вам нужно. Откройте командную строку, далее вам нужно иметь два составляющих:

    Как включить поддержку длинных путей в windows 7

    Нам поможет команда mklink, где ключ /D создает ссылку на каталог

    Сбой операции копирования файлов, если у файлов или папок длинные пути, в проводнике

    Симптомы

    Рассмотрим следующий сценарий:

    У вас есть компьютер под управлением Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012 Пакет обновления 1 (SP1) для Windows 7 или Windows Server 2008 R2 Пакет обновления 1 (SP1).

    Попробуйте скопировать файлы или папки, чтобы вставить их в другую папку с помощью проводника Windows.

    Файлы или папки, которые вы поместите имеют пути, длина которых превышает максимальную допустимую длину пути.

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

    Операция копирования не выполняется и генерирует сообщение о том, что указан слишком длинный путь (имя файла). Сообщение также предлагает Сократите имя файла и повторите попытку копирования.

    Операция копирования не запускается. В этом случае сообщение не формируется.

    Операция копирования начинается, копирует несколько файлов или папок и затем завершается неудачей без выдачи сообщения.

    Эта проблема может препятствовать копированию некоторых файлов или папок. Отсутствие сообщений об ошибке не свидетельствует об отсутствии ошибки в системе. Различные проблемы могут возникнуть в зависимости от того, как файлы выбраны для копирования.

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

    Причина

    Эта проблема возникает из-за особенности в способе обработки Windows ошибок длинных путей.

    Решение

    Для решения этой проблемы для Windows 8.1, Windows Server 2012 R2, Windows 8, andWindows Server 2012 установите накопительный пакет обновления.
    Для решения этой проблемы для Windows 7 и Windows Server 2008 R2, установите исправление, описанное в данной статье.

    Сведения об обновлении для Windows 8.1, Windows Server 2012 R2, Windows Server 2012 и Windows 8

    Для решения этой проблемы установите накопительный пакет обновления, выпущенного апрель 2012 г. и 2014 ноября.

    Сведения об исправлении для Windows 7 и Windows Server 2008 R2

    Доступно исправление от службы поддержки Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

    Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.

    Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы просмотреть полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:

    Примечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.

    Предварительные условия

    Для установки этого исправления необходимо иметь для Windows 7 или Windows Server 2008 R2 установлен.

    Необходимость перезагрузки

    После установки исправления компьютер необходимо перезагрузить.

    Сведения о замене исправлений

    Это исправление не заменяет все ранее выпущенные исправления.

    Английский (США) версия данного исправления устанавливает файлы с атрибутами, указанными в приведенных ниже таблицах. Дата и время для файлов указаны в формате UTC. Дата и время для файлов на локальном компьютере отображаются в местном времени с вашим текущим смещением летнего времени (DST). Кроме того, при выполнении определенных операций с файлами, даты и время могут изменяться.

    Информация о файлах для Windows 7 и Windows Server 2008 R2 и примечанияВажно. Исправления для Windows Server 2008 R2 и Windows 7 включены в одни и те же пакеты. Однако исправления на странице запроса исправлений перечислены под обеими операционными системами. Чтобы запросить пакет исправления, который применяется к одной или обеим ОС, установите исправление, описанное в разделе «Windows 7/Windows Server 2008 R2» страницы. Всегда смотрите раздел «Информация в данной статье относится к следующим продуктам» статьи для определения фактических операционных систем, к которым применяется каждое исправление.

    Файлы, относящиеся к определенному продукту, этапу разработки (RTM, SP n) и направлению поддержки (LDR, GDR) можно определить путем проверки номера версий файлов, как показано в следующей таблице.

    Выпуски обновлений GDR содержат только те исправления, которые выпускаются повсеместно и предназначены для устранения распространенных крайне важных проблем. В обновления LDR входят также специализированные исправления.

    Файлы MANIFEST (.manifest) и MUM (.mum), устанавливаемые для каждой среды, указаны отдельно в разделе «Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2». Файлы MUM и MANIFEST, а также связанные файлы каталога безопасности (CAT) чрезвычайно важны для поддержания состояния обновленных компонентов. Файлы каталога безопасности, для которых не перечислены атрибуты, подписаны цифровой подписью корпорации Майкрософт.

    Статус

    Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».

    Сведения о дополнительных файлах для Windows 7 и Windows Server 2008 R2

    Дополнительные файлы для всех поддерживаемых 86-разрядных версий Windows 7

    Ссылки

    Узнайте о Корпорация Майкрософт использует для описания обновлений программного обеспечения.

    Видео

    Слишком длинное имя файла и слишком длинный целевой путь — как исправить ошибку Windows 10/11 Скачать

    Слишком длинное имя файла и слишком длинный целевой путь — как исправить ошибку Windows 10/11

    Плагин Adobe Flash Player больше не поддерживается | Решение для Google Chrome в 2021 Скачать

    Плагин Adobe Flash Player больше не поддерживается | Решение для Google Chrome в 2021

    Google Chrome 87 включаем поддержку FTP Скачать

    Google Chrome 87 включаем поддержку FTP

    Не удается найти gpedit.msc в Windows 10 Скачать

    Не удается найти gpedit.msc в Windows 10

    Ubuntu 22.04 LTS — Отлично подходит для России, как замена Windows Скачать

    Ubuntu 22.04 LTS - Отлично подходит для России, как замена Windows

    Изменение пути сохранений для игр Скачать

    Изменение пути сохранений для игр

    Как изменить место установки программ и игр в Windows Скачать

    Как изменить место установки программ и игр в Windows

    Самые частые проблемы с HDMI / Как решить любые неполадки с HDMI? Скачать

    Самые частые проблемы с HDMI / Как решить любые неполадки с HDMI?

    Oculus quest 2 обновляем прошивку в 2022г. Скачать

    Oculus quest 2 обновляем прошивку в 2022г.

    Ошибка: Слишком длинный путь к источнику [имя файла и имя папок] Скачать

    Ошибка: Слишком длинный путь к источнику [имя файла и имя папок]

    Время прочтения
    4 мин

    Многим пользователям ПК под управлением ОС Windows, не говоря о разработчиках, знакомы проблемы при работе с длинными (более 260 символов, MAX_PATH) путями файлов или каталогов.

    В данной статье рассматриваются способы избавления от этого пережитка при разработке приложений на различных платформах (WinApi, .Net Framework, .Net Core) и активации нативной поддержки длинных путей в Windows 10 (Anniversary Update).

    Приложения Win API

    В приложениях, которые используют Win API для работы с файлами, рецепт избавления от ограничения MAX_PATH был известен с незапамятных времён – необходимо было использовать Unicode версию функции с окончанием «W» для работы с директорией или файлом и начинать путь с префикса \?. Это давало возможность использовать пути длинной до 32767 символов.

    В 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 Framework и использует Win API для работы с файлами — предыдущее изменение не принесло бы результата, т.к. в код BCL встроены предварительные проверки на допустимость длинны имён каталогов и файлов, и до вызова функций Win API дело даже не доходило, выдавая известное исключение. По многочисленным просьбам сообщества (более 4500 на UserVoice) в версии 4.6.2 из кода BCL вырезали проверки ограничения длинны пути, отдав это на откуп операционной и файловой системам!

    Вот что это даёт:

      При использовании префикса “\?” мы можем работать с длинными путями как в Win API,

    Directory.CreateDirectory("\\?\" + long_dir_name);

    Как включить:

    • Использовать .Net Framework 4.6.2 как цель при сборке приложения.
    • Использовать конфигурационный файл, например, если приложение уже было собрано под .Net 4.0:

    .Net Core

    Тут поддержку длинных путей анонсировали ещё в ноябре 2015 года. Видимо сказалось Open Source природа проекта и отсутствие строгой необходимости обеспечения обратной совместимости.

    Как включить:
    Всё работает из коробки. В отличие от реализации в .Net Framework – тут нет необходимости в добавлении префикса “\?” – он добавляется автоматически при необходимости.

    Вот тут можно посмотреть пример.

    Как включить поддержку длинных путей в Windows 10 (1607)

    Эта возможность по умолчанию отключена. Это объясняется тем, что данная функция является экспериментальной, и имеется необходимость дорабатывать различные подсистемы и приложения для полной поддержки.

    Включить встроенную поддержку длинных путей можно создав или изменив следующий параметр системного реестра: HKLMSYSTEMCurrentControlSetControlFileSystem Параметр LongPathsEnabled (Тип: REG_DWORD) 1 – соответствует значению включено.

    Или через групповые политики (Win+Rgpedit.msc) Computer Configuration > Administrative Templates > System > Filesystem > Enable NTFS long paths.Оно же в локализованном варианте: Конфигурация компьютера > Административные шаблоны > Система > Файловая система > Включить длинные пути Win32.

    Далее источники расходятся во мнении относительно манифеста (или я неправильно понял, но на данный момент проверить не имею возможности). Например, в документации MSDN написано, что манифест можно использовать в качестве альтернативного способа активации поддержки длинных путей в отдельных приложениях, а в блоге MSDN указано, что это является вторым обязательным шагом после активации в политиках.
    Но они сходятся в формате задания данной опции:

      true   

    С CMD, к сожалению, это не сработает, на данный момент, из-за особенностей работы с путями, а в PowerShell должно всё заработать.

    P.S.

    На этом мой небольшой пятничный пост заканчивается, оставив за рамками вопросы полноты реализации поддержки длинных путей в Windows 10 (1607), или работоспособность при использовании различных комбинаций редакций Windows, файловых систем и API. По мере поступления новых фактов и результатов экспериментов пост будет обновляться.