Как включить длинные пути в Windows 11 Home?

Вопрос или проблема

Мне нужно включить длинные пути, но в моей версии Windows 11 Home нет редактора групповых политик.

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

Правильный способ включить длинные пути в Windows описан здесь

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

Редактор реестра Windows Версия 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001

Настоящая проблема 90% времени заключается в том, чтобы заставить приложения поддерживать это, а не в файловой системе. Программисты жестко закодируют MAX_PATH (260 символов) в свой код и делают это на протяжении многих лет.

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

Некоторые приложения написаны достаточно хорошо, чтобы обойти это, но вы найдете больше тех, которые не работают, чем тех, которые работают.

Автоматически сокращайте и исправляйте пути с помощью моего инструмента path_shortener

Обновление: Я написал инструмент для сокращения путей на Python, чтобы наконец решить эту проблему для себя: eRCaGuy_PathShortener. Он автоматически сокращает пути и удаляет недопустимые символы.

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

Использование:

# Меню помощи
path_shortener -h

# сократить все пути в директории `test_paths`
path_shortener path/to/test_paths

Пример сокращенных путей:

Исходный путь (379 символов): test_paths_shortened/sun_delta_crash_dog_delta_green_iota_sky/brown_forest/whisper_brown_high_wind_wind/fox_phi_lambda_crash_pi_kappa_fox/dog_ocean_sky_nu_chi_nu_mu_sigma_over_shines/beta_nu_over_psi/pi_<>:"\|?*_blue_nu_trees_mu_green_<>:"\|?*_lambda_over/brown_crash_tau_omega_crash_brown/dog_over_brown_aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccc/h</a

Сокращенный путь (127 символов): test_paths_shortened/sun_d@7732/brown@BCFE/whisp@F3B2/fox_p@29D5/dog_o@C3E1/beta_@3187/pi___@1BA3/brow@ECD9/dog_@8400/h_#01A4/a

Также автоматически создаются “имяфайлы”, которые представляют собой текстовые файлы с окончанием _NAME.txt и содержат оригинальное имя пути, чтобы вы могли легко видеть, каков был оригинальный путь для всех сокращенных или исправленных файлов и папок.

Приглашаю вас поставить звезду и попробовать его. Это работает отлично.

Оригинальный ответ:


Включите длинные пути (> MAX_PATH 260 символов) в Windows

  1. Нажмите Win и введите powershell. Щелкните правой кнопкой мыши по “Windows PowerShell” и выберите “Запуск от имени администратора”. Введите свое имя пользователя и пароль для продолжения.

  2. Запустите эту команду в повышенной консоли PowerShell, чтобы включить длинные пути:

    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
    

    Вы увидите такой вывод:

    LongPathsEnabled : 1
    PSPath           : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    PSParentPath     : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
    PSChildName      : FileSystem
    PSDrive          : HKLM
    PSProvider       : Microsoft.PowerShell.Core\Registry
    
  3. Готово. Некоторые программы теперь будут разрешать более длинные пути, если только разработчики программы не включили эту функцию в своем исходном коде и не соблюдают добавление ее в свой “манифест приложения”. См. также: https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell

Проверьте это в Git Bash, Проводнике и VSCode

  1. Установите Git для Windows, чтобы получить доступ к терминалу Git Bash. См. мои инструкции здесь: Установка Git для Windows.

  2. Запустите это в Git Bash

    cd ~
    
    # создать путь более 400 символов
    mkdir -p thisssssssssssssssssssssssssssssss/isssssssssssssssssssssssssssssssss/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/longggggggggggggggggggggggggg/pathhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh/thatttttttttttttttttttttttttttttttttttttttttttttttttttt/shouldddddddddddddddddddddddddddddddddddddddddddd/workkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk/nowwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
    
  3. Теперь вручную перейдите туда в Проводнике, щелкните правой кнопкой мыши и выберите “Создать” -> “Текстовый документ”. И посмотрите, сможете ли вы создать и открыть его, редактировать, сохранить и т. д.

    Примечание: Я открываю и редактирую его в MS VS Code.

  4. Это работает у меня. Готово. Замечательно!

Возможно, еще не работает?

Обновление Авг. 2024:

Когда я вручную перехожу к действительно длинному пути выше в Проводнике, щелкаю правой кнопкой мыши и выбираю “Создать” -> “Папка” (то есть создаю папку, а не файл), я вижу эту ошибку в всплывающем окне:

введите описание изображения здесь

Слишком длинный путь назначения

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

не сработало. Я не знаю, что об этом думать…

Обновление 4 Окт. 2024: кажется, что даже если вы исправляете это в реестре, отдельные программы все равно жестко закодированы, чтобы блокировать вас на основе старого максимального значения длины пути. Нет решения, кроме как ждать обновления этих программ, что может занять десятилетия. Это включает Проводник Windows и инструменты разархивирования. Поэтому я написал эту программу, чтобы решить свою проблему, автоматически сокращая пути для себя: https://github.com/ElectricRCAircraftGuy/eRCaGuy_PathShortener

Основной ответ от Сеньора CMasMas также указывает на эту проблему:

Настоящая проблема 90% времени заключается в том, чтобы заставить приложения поддерживать это, а не в файловой системе. Программисты жестко закодируют MAX_PATH (260 символов) в свой код и делают это на протяжении многих лет.

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

Некоторые приложения написаны достаточно хорошо, чтобы обойти это, но вы найдете больше тех, которые не работают, чем тех, которые работают.

Удачи! 🙂

Ссылки

  1. https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell

Это связано с тем, что Проводник не поддерживает длинные имена файлов. Ни в Windows 10, ни в Windows 11.

Хотя обе операционные системы поддерживают длинные пути.

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

Ответ или решение

Чтобы включить поддержку длинных путей в Windows 11 Home, выполните следующие шаги. Эта версия Windows не имеет редактора групповых политик (Group Policy Editor), но проделать необходимые изменения можно через реестр или командную строку.

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

  1. Создание .reg файла:
    Если вы не уверены в том, как редактировать реестр вручную, вы можете создать файл реестра. Откройте текстовый редактор (например, Блокнот) и вставьте следующий код:

    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
    "LongPathsEnabled"=dword:00000001

    Сохраните этот файл с расширением .reg, например enable_long_paths.reg.

  2. Запуск .reg файла:
    Дважды щелкните на созданный файл и согласитесь с изменениями в реестре. Вам может понадобиться предоставить права администратора для выполнения этой операции.

Включение длинных путей через PowerShell:

  1. Открытие PowerShell:
    Нажмите клавишу Win, введите powershell, щелкните правой кнопкой мыши на "Windows PowerShell" и выберите "Запуск от имени администратора". Подтвердите действия, если потребуется.

  2. Выполнение команды:
    В открывшемся окне PowerShell введите следующую команду и нажмите Enter:

    New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

    Если команда выполнится успешно, вы получите подтверждение, что свойство LongPathsEnabled установлено в 1.

Учтите, что:

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

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

  • Создание символических ссылок или использование UNC-путей: Например, если у вас есть длинный путь, вы можете создать символическую ссылку, которая ссылается на него, или использовать специальные инструменты для доступа к данным без необходимости длинного пути.

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

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...