Ошибка 206 имя файла или его расширение имеет слишком большую длину
Исключение при выполнении командной строки. Не удается запустить программу «C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe» (в каталоге «C: \ Users \ motiver \ helios_workspace \ TimeTracker»): ошибка CreateProcess = 206, имя файла или расширение слишком долго
Я немного исследовал, но большинство проблем были связаны с DataNucleus при работе над Google App Engine. Но я не использую ничего отдаленно связанного с Google App Engine. Я делаю небольшой проект с Servlet 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy, чтобы открыть веб-службу. Я создал файл util, в котором есть метод main (), который в основном удаляет и воссоздает схему. Я запускаю методы main (), когда мне нужна чистая база данных для целей тестирования. Он отлично работал на Tomcat 7, но перестал работать, когда я перешел на JBoss 6.
Мы будем благодарны за любые подсказки или решения.
Я хочу понять, C:\Program Files (x86)\Java\jre6\bin\javaw.exe длинный или другой C:\Users\motiver\helios_workspace\TimeTracker . У меня такая же проблема.
Потомство: у меня была похожая ситуация, но с простым корпоративным приложением, развернутым на WLS, и клиентом из Eclipse. Я заметил, что путь к классам был огромен, поскольку Eclipse по умолчанию включал всю библиотеку WLS (все jar-файлы). Я удалил его и добавил просто weblogic.jar (только обязательный). После этого все заработало. Итак, по моим наблюдениям, просто удалите ненужные банки.
Простого (в пару кликов или простой команды) решения этой проблемы не существует.
- Уменьшите путь к классам
- Используйте каталоги вместо файлов jar
- Используйте упакованные файлы jar, содержащие все другие jar-файлы, используйте переменную classpath внутри файла манифеста, чтобы указать на другие jar-файлы
- Используйте специальный загрузчик классов, который считывает путь к классам из файла конфигурации
- Попробуйте использовать один из прикрепленных патчей в документе с отчетом об ошибке
- Используйте собственную оболочку, например муравей
Обновление : после июля 2014 года есть способ лучше (благодаря ответу @ Brad-Mace ниже :
Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , вы можете добавить useexternalfile="yes" в Javadoc задачу, которая разработана специально для решения этой проблемы.
Как у IntelliJ не возникнет этой проблемы, если это полностью из-за длины пути к классам, используемого при запуске JVM?
«Уменьшить путь к классам» - хороший намек, но позвольте мне немного уточнить это: в моем случае я попытался создать проект maven, и -classpath аргумент был сгенерирован, чтобы содержать все зависимости. Так, что - то вроде этого вышло: C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more] . Перемещение моего локального кеша репозитория maven в свое дело: путь к D:\m2 классам сократился до D:\m2\…;D:\m2\… - бинго! Не забудьте указать localRepository путь в конфигурации maven.
Если вы создаете свой собственный файл сборки, а не используете, Project -> Generate Javadocs вы можете добавить useexternalfile="yes" к javadoc задаче, которая разработана специально для решения этой проблемы.
Сегодня я столкнулся с этой проблемой, и я смог решить ее с помощью этого плагина Gradle
ЕСЛИ вы, как и я, понятия не имеете, что такое Gradle, но вам нужно запустить бэкэнд, чтобы выполнять свою работу с внешним интерфейсом, вам нужно найти файл build.gradle, который вызывается для запуска вашего сервера BE, и добавить его в вершина:
Теперь я получаю «Имя основного класса не настроено и не может быть разрешено», несмотря на то, что оно было установлено attributes["Main-Class"]
Я пробовал использовать плагин, но безрезультатно. Проблема все еще не решена. Пожалуйста, предложите
Отвечая на свой вопрос здесь, чтобы решение не было утоплено в комментариях. Я экспортировал проект как запускаемый jar из eclipse и выполнил командную строку «java -jar MyJar.jar», и он отлично работает
Это не специально для eclipse, но я решил обойти это, создав символическую ссылку на мой репозиторий maven и указав ее на что-то вроде «C: \ R». Затем я добавил в свой файл settings.xml следующее:
Путь к репозиторию maven способствовал возникновению проблем с длиной на моей машине с Windows.
В intellij есть опция «сократить командную строку», выбрать «JAR manifest» или «@argFiles» решит проблему, в основном это поместит ваш длинный путь к классу в файл jar или временный файл.
Вопрос старый, но актуальный. Я часто сталкиваюсь с этой ситуацией, когда к моей команде присоединяется новый участник или к существующему коду добавляется новый сегмент кода. Простой обходной путь, которому мы следуем, - это «уменьшить путь к классам» путем перемещения вверх по каталогам.
Как уже упоминалось, это не относится к затмению. Я также сталкивался с этой проблемой в IntelliJ Idea 14 и 2018.
После долгих исследований я нашел решение - установить
в javc файла сборки ant.
Вот так теперь выглядит мой Ant build javac. Чтобы узнать больше о fork, обратитесь к документации ant.
В отчете об ошибке ошибка 327193 считается исправленной, но недавно это случилось со мной с Eclipse Kepler 4.3.2.
Загрузите патч для Eclipse Juno или новее:
- После загрузки создайте резервную копию существующего eclipse / plugins / org.eclipse.jdt.launching_3. *. Jar
- Скопируйте и вставьте классы из патча в org.eclipse.jdt.launching JAR (замените существующие файлы).
- Перезапустите Eclipse.
Это сработало для меня. Обратите внимание, что применение этого метода удалило мои установки JDK Java из установленных JRE. Пришлось снова добавить их. Осталась только 1 установка JRE.
java -jar -Dserver.port = 8080 build / libs / APP_NAME_HERE.jar
Чтобы решить эту проблему:
Если вы используете Eclipse:
Переместить репозиторий .m2 в
c: \ Перейдите в Eclipse> Windows / Preferences / Maven / User Settings -> Создайте свой собственный файл settings.xml с его содержимым:
Если вы используете IntelliJ: перейдите в IntelliJ> щелкните правой кнопкой мыши на «pom.xml»> maven> создайте «settings.xml»
с его содержанием:
У меня такая же ошибка при вызове Maven.
Основная причина моей проблемы заключалась в том, что она classpath была очень огромной. Обновление пути к классам устранило проблему.
Есть несколько способов обновить большой путь к классам, как упоминалось в этом: Как установить длинный путь к классам Java в Windows?
- Используйте подстановочные знаки
- Файл аргумента
- Путь jar
Поскольку я использую Intellij, они предоставляют возможность использовать файл аргументов, который я использовал.
Попробуйте добавить это в файл build.gradle ( gradle version 4.10.x ) и убедитесь, что com.xxx.MainClass это класс, в котором находится ваш основной метод:
Вышеупомянутое изменение должно решить проблему, есть другой способ использования run.sh приведенного ниже сценария, который может решить эту проблему, но это будет скорее исправление командной строки, а не запуск в IntelliJ gradle bootRun .
это происходит из-за того, что DataNucleus иногда перезаписывает аргументы с множеством путей.
Вы должны перезаписать их следующим образом:
-enhancerName ASM -api JDO -pu MediaToGo
Надеюсь помочь вам!
Правильный ответ из этой ветки был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, безусловно, уменьшите компиляцию пути java.
Я получил ошибку ниже, когда запустил " ant deploy "
Исправлено, запустив перед ним команду ant clean .
У меня такая же ошибка в студии Android. Мне удалось решить эту проблему, запустив Build -> Clean Project в IDE.
Это из-за вашего длинного имени каталога проекта, которое в CLASSPATH целом дает вам очень длинный . Либо вам нужно уменьшить количество добавленных jar-файлов CLASSPATH (убедитесь, что удаляются только ненужные jar-файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH . У меня это сработало.
У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому делюсь здесь, потому что я нигде этого не нашел, поэтому, если у вас есть эта проблема с netbeans, попробуйте следующее:
(имена могут быть отключены, так как мои netbeans на португальском языке) Щелкните правой кнопкой мыши проект> свойства > сборка> компиляция> снимите флажок запускать компиляцию на внешней виртуальной машине.
У меня такая же ошибка. Пробные решения, такие как очистка, восстановление, недействительность кеша, повторный запуск и т. Д., Но ничего не работает.
Я только что создал новую папку с коротким именем и скопировал все файлы (папку приложения, файлы gradle и т. Д.) В новую папку. Открыл приложение в студии Android и работает нормально.
В моем случае ошибка проявлялась из-за того, что системная версия java отличалась от версии intellijj / eclipse java. Система и пользователь имели разные версии java. Если вы скомпилируете свой код с использованием одной версии и попытаетесь запустить с использованием другой версии, произойдет ошибка.
Короче говоря, убедитесь, что ваш код скомпилирован и запускается одной и той же версией java.
Ошибка CreateProcess = 206, имя файла или расширение слишком длинное.
Если вы используете инструмент сборки Gradle, а исполняемый файл находится в каталоге build / libs вашего приложения. run.sh -> создайте этот файл в корневом каталоге вашего проекта и скопируйте в него скрипт ниже, затем перейдите в git bash и введите run.sh, затем введите. Надеюсь это поможет!
Если вы когда-либо видели эту проблему, это, вероятно, было простым решением для вас. Если вы видели эту ошибку более двух раз, то вы также знаете, что иногда это может быть сложной проблемой.
Будем надеяться, что вы столкнетесь только с набором легких исправлений, но мы подготовим вас к менее простым, гарантированно исправным исправлениям.
Имя файла или расширение слишком длинное [FIX]
Решение 11. Внесение изменений в групповую политику
По словам пользователей, Windows 10 принесла некоторые улучшения, связанные с ограничением символов пути. В предыдущих версиях Windows пользователи были ограничены 260 символами для путей, но кажется, что это ограничение можно снять в Windows 10. Чтобы изменить ограничение пути, необходимо выполнить следующие действия:
- Нажмите Windows Key + R и введите gpedit.msc .
- После запуска редактора групповой политики на левой панели выберите Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Система> Файловая система . Теперь найдите Включить длинные пути NTFS в правой панели и дважды щелкните по нему.
- Выберите Включено и нажмите Применить и ОК , чтобы сохранить изменения.
- Закройте Редактор групповой политики , перезагрузите компьютер и проверьте, устранена ли проблема.
Если вы не можете получить доступ к редактору групповой политики в своей версии Windows, вы также можете снять это ограничение с помощью редактора реестра. Для этого выполните следующие действия:
- Нажмите Windows Key + R и введите regedit . Нажмите Enter или нажмите ОК .
- Когда откроется Редактор реестра , на левой панели перейдите к ключу HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem . На правой панели найдите и дважды нажмите LongPathsEnabled DWORD. Если этот ключ недоступен, вам необходимо создать его вручную.
Для этого щелкните правой кнопкой мыши пустое место на правой панели и выберите Создать> Значение DWORD (32-разрядное) . Введите LongPathsEnabled в качестве имени нового DWORD и дважды щелкните его, чтобы открыть его свойства. - Когда откроется окно Свойства , установите для Значения данных значение 1 и нажмите ОК , чтобы сохранить изменения.
- Закройте Редактор реестра и перезагрузите компьютер.
Если вы не хотите редактировать реестр вручную, вы можете использовать этот zip-файл и использовать файлы внутри, чтобы мгновенно применить изменения. Просто запустите файл Удалить файл 260 Path Path Limit.reg из архива, чтобы снять ограничения пути к файлу. Вы также можете запустить другой файл из архива, чтобы снова включить ограничение.
Несмотря на метод, который вы решили использовать, включение этой опции позволит вам без проблем получить доступ к любому пути к файлу, поэтому обязательно попробуйте это решение.
Исключение при выполнении командной строки. Не удается запустить программу «C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe» (в каталоге «C: \ Users \ motiver \ helios_workspace \ TimeTracker»): ошибка CreateProcess = 206, имя файла или расширение: слишком долго
Я немного исследовал, но большинство проблем были связаны с DataNucleus при работе над Google App Engine. Но я не использую ничего отдаленно связанного с Google App Engine. Я делаю небольшой проект с Servlet 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy, чтобы открыть веб-службу. Я создал файл util, в котором есть метод main (), который в основном удаляет и воссоздает схему. Я запускаю методы main (), когда мне нужна чистая база данных для целей тестирования. Он отлично работал на Tomcat 7, но перестал работать, когда я перешел на JBoss 6.
Приветствуются любые подсказки или решения.
Простого (в пару кликов или простой команды) решения этой проблемы не существует.
- Уменьшите путь к классам
- Используйте каталоги вместо файлов jar
- Используйте упакованные файлы jar, которые содержат все другие jar-файлы, используйте переменную classpath внутри файла манифеста, чтобы указать на другие jar-файлы
- Используйте специальный загрузчик классов, который считывает путь к классам из файла конфигурации.
- Попробуйте использовать один из прикрепленных патчей в документе с отчетом об ошибке
- Используйте собственную оболочку, например. муравей
Обновление : после июля 2014 года есть способ лучше (благодаря ответу @ Brad-Mace ниже :
Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , вы можете добавить useexternalfile="yes" в задачу Javadoc, которая разработана специально для решения этой проблемы.
У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому делюсь здесь, потому что нигде не нашел этого, поэтому, если у вас есть эта проблема в netbeans, попробуйте следующее:
(имена могут быть отключены, поскольку мои netbeans на португальском) Щелкните правой кнопкой мыши проект> свойства> сборка> компиляция> снимите флажок запускать компиляцию на внешней виртуальной машине.
Это из-за вашего длинного имени каталога проекта, которое в целом дает вам очень длинный CLASSPATH . Либо вам нужно уменьшить количество jar-файлов, добавленных в CLASSPATH (убедитесь, что удаляются только ненужные jar-файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH . У меня это сработало.
У меня такая же ошибка в студии Android. Мне удалось решить эту проблему, запустив Build Clean Project в среде IDE.
Я получаю указанную ниже ошибку при запуске ant deploy .
Исправлено, запустив перед ним команду " ant clean ".
Правильный ответ из этой ветки был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, безусловно, уменьшите компиляцию пути java.
Если вы используете Android Studio, попробуйте опцию Invalidate Caches / Restart .. в меню File
Для меня это был неправильный путь JDK. Убедитесь, что у вас правильный путь к файлу JDK.
Файл -> Структура проекта
Я столкнулся с этой проблемой при попытке выполнить запрос JPQL в консоли Hibernate / JPA в IntelliJ 2020.2
Добавление этого в мой .idea / workspace.xml исправило его.
Ошибка:
CreateProcess error=206, The filename or extension is too long
Исправление кода Gradle:
Я использую устаревшую версию плагинов Gradle, и этот плагин решил проблему для меня.
Использование (подробнее см. В источнике):
Фрагмент скрипта сборки для плагинов DSL для Gradle 2.1 и новее
Фрагмент сценария сборки для использования в более старых версиях Gradle или там, где требуется динамическая конфигурация
Ошибка CreateProcess = 206, имя файла или расширение слишком длинное.
Если вы используете инструмент сборки Gradle, а исполняемый файл находится в каталоге build / libs вашего приложения. run.sh -> создайте этот файл в корневом каталоге вашего проекта и скопируйте в него приведенный ниже сценарий, затем перейдите в git bash и введите run.sh, затем введите. Надеюсь это поможет!
Надеюсь это поможет!!
У меня такая же ошибка. Пробовали решения, такие как очистка, восстановление, недействительность кеша, повторный запуск и т. Д., Но ничего не работает.
Я только что создал новую папку с коротким именем и скопировал все файлы (папку приложения, файлы gradle и т. Д.) В новую папку. Открыл приложение в студии Android и работает нормально.
Это происходит из-за того, что DataNucleus иногда перезаписывает аргументы с множеством путей.
Я пробовал Android-Studio при фиксации проектов и Tortoise SVN, похоже, что tortoise-svn выполняет эту работу, в отличие от плагина android-studio, который является SVN. Я действительно не понимаю, почему, но Tortoise-svn работает, поэтому я думаю, что это может быть ответ.
Короче говоря: временное исправление использует Tortoise Svn, а не SVN Android-Studio.
В Windows максимальная длина пути составляет 260 символов. См. Максимальную длину пути 260 символов. См. Android Studio - Невозможно открыть файл PNG
Согласно другому потоку "абсолютный путь svn cmd" работает, но относительный путь "cd / your / project / path; svn cmd yourproject" не работает (это "проблема" файловой системы Windows)
не удается запустить программу (IN каталог . / . / ваш проект)
Что подтверждает это предположение.
Надеюсь, они изменят это в будущем !!
У меня была такая же проблема, и установка Tortoise SVN не решила ее. Я приступил к фиксации отдельных каталогов в моем проекте шаг за шагом, пытаясь найти файл / каталог, который вызывал проблему. Мое удивление было, когда я завершил все коммиты и никаких ошибок не возникло.
Итак, решение моей проблемы заключалось в том, чтобы шаг за шагом фиксировать все мои файлы / каталоги.
Я знаю, что тема немного устарела, но вот работа для гуглеров,
Android Studio дает вам точный адрес папки, которая не может быть зафиксирована:
Если AS или Microsoft не сделают что-то для поддержки имен файлов, длина которых превышает текущее ограничение, вот несколько обходных путей, чтобы решить эту проблему:
1- зафиксировать данную папку c:\blah-blah с помощью другого svn-клиента eg. TortoiseSVN
2- чтобы переместить папку проекта ближе к корню диска, например, если ваш проект находится в d:\Development\Android Studio\sources\project x\Version 3\. , попробуйте переместить его ближе к корню, удалив и / или переименовав между папками, например: > или d:\x\v3\.
3- Я где-то читал, что создание виртуального диска в Windows из последней папки тоже будет работать, например, создать z:\ и назначить его d:\Development\Android Studio\sources\project x\Version 3\ , но я где-то еще читал, что это может не сработать, потому что клиент AS svn работает с абсолютным путем к файлам, в любом случае я выполнил работу с вариантами 1 и 2, и мне так и не удалось попробовать третий вариант
Ошибка часто возникает, когда одновременно фиксируется слишком много файлов и используется клиент командной строки; поскольку файлы доставляются клиенту одной строкой, строка становится слишком длинной (svn commit file1 file2 . ). См. Также Ошибка фиксации SVN при фиксации большого количества файлов за одну фиксацию (в результате длина команды svn превышает предел) . Мое решение этой проблемы состояло в том, чтобы снять флажок «Использовать клиент командной строки» в настройках в разделе «Контроль версий - Subversion».
Решение 9. Используйте командную строку для переименования файлов или папок
Прежде чем вы сможете переименовать ваши файлы, вам необходимо выявить скрытые файлы и папки и расширения файлов. Вы можете легко это сделать, выполнив следующие действия:
После этого вам нужно запустить командную строку и использовать ее для переименования проблемных файлов. Для этого выполните следующие простые шаги:
- Запустите Командную строку от имени администратора. Мы показали вам, как это сделать в Решении 6 , поэтому просмотрите подробные инструкции.
- После запуска командной строки введите REN «C: Path_to_the_problematic_fileProblematicFile.txt», «File2.txt» .
, имейте в виду, что Вам необходимо ввести правильный путь к проблемному файлу, а также расширение файла. В качестве примера мы использовали ProblematicFile.txt , поэтому обязательно замените его на фактическое имя файла, которое приводит к этой ошибке.
Если у вас есть несколько файлов, к которым вы не можете получить доступ, вы можете попробовать изменить имя папки. Для этого сделайте следующее:
- Откройте Командную строку от имени администратора.
- Когда откроется Командная строка , введите REN «C: Path_to_the_problematic_folder» «Имя новой папки». Обязательно выберите папку с самым длинным именем и переименуйте ее, чтобы сделать ее короче.
- После переименования папки вы сможете без проблем получить доступ к проблемным файлам.
Это немного продвинутое решение, поэтому оно может не подойти для простых пользователей. Если вы не знакомы с командной строкой, может потребоваться несколько попыток для правильного переименования файлов или папок.
Решение 1. Изменить имя каталога
Пользователи сообщили, что не смогли переместить или получить доступ к проблемным файлам из-за этой ошибки. Для решения проблемы вам необходимо переименовать проблемный файл или изменить его путь. В большинстве случаев вы не можете переименовать файл, но вы можете решить проблему, переименовав один из каталогов, в которых находится этот файл.
Для этого просто переименуйте одну или несколько папок, которые ведут к этому файлу, и проблема должна быть решена. Переименовывая папки, вы становитесь ниже предела количества символов и сможете снова получить доступ к своим файлам.
Решение 8 – Используйте Long Path Tool
Несколько пользователей сообщили, что вы можете легко решить эту проблему, используя Long Path Tool. Это бесплатное приложение, которое позволит вам переименовывать, копировать или удалять проблемные файлы. Используя этот инструмент, вы сможете переименовывать длинные файлы, удалять их или легко перемещать в другое место. Приложение является бесплатным и полностью переносимым, поэтому вы можете попробовать его.
Кроме того, вы можете попробовать использовать такие инструменты, как Long Path Fixer, Long Path Eraser Free или Ant Renamer. Все эти инструменты бесплатны, и вы можете использовать их для переименования проблемных файлов или папок и получения к ним доступа.
Решение 6. Используйте командную строку
Если вы опытный пользователь, вы можете легко решить эту проблему с помощью командной строки. С помощью этого инструмента вы можете назначить путь к папке с буквой диска. Используя этот метод, вы можете использовать только что созданную букву диска и получить доступ к проблемным файлам. Для этого выполните следующие действия:
- Нажмите Windows Key + X , чтобы открыть меню Win + X, и выберите Командная строка (Admin) .
- Когда откроется командная строка , введите subst X: «C: Path_to_the_problematic_file» и нажмите Enter .
- После выполнения команды вы сможете получить доступ к диску X: и всем проблемным файлам.
Помните, что это решение предназначено для опытных пользователей, поэтому, если вы не знакомы с командной строкой, вы не сможете выполнить ее должным образом. Также важно отметить, что нам не удалось увидеть новые диски на нашем ПК, но мы смогли получить к ним доступ с помощью командной строки. Если вам нужно удалить только что созданный диск, вы можете сделать это, введя subst x: /d в командной строке.
Почему длина имени файла является проблемой в Windows?
Существует большая история длины файлов, что является проблемой для операционных систем, таких как Windows. Было время, когда вы не могли иметь имена файлов длиннее 8 символов плюс 3-символьное расширение файла. Лучшее, что вы могли сделать, это что-то вроде myresume.doc. Это было ограничение в отношении дизайна файловой системы.
Все стало лучше, когда вышли новые версии Windows. Мы перешли от старой ограниченной файловой системы к так называемой файловой системе новой технологии (NTFS). NTFS привела нас к тому, что имя файла может быть длиной 255 символов, а длина пути к файлу потенциально может достигать 32 767 символов. Так как же мы можем иметь слишком длинные имена файлов?
В Windows есть вещи, известные как системные переменные. Это переменные, от которых зависит функционирование Windows, потому что Windows всегда будет знать, что означают переменные и где они находятся, даже когда мы перемещаем биты и байты повсюду. Системная переменная MAX_PATH — это та, которая ограничивает имена файлов и пути к файлам до 260 символов.
Будучи переменной, вы думаете, мы могли бы изменить это. Нет, мы не должны. Это все равно что выдернуть нитку из свитера. Как только одна системная переменная изменяется, другие системные переменные и зависимые от них компоненты начинают распадаться.
Решение 10. Загрузите файл в Dropbox и переименуйте его
Это простой обходной путь, и он идеально подходит, если вы не можете получить доступ к паре небольших файлов. Вы также можете использовать это решение с файлами большего размера, но, поскольку оно требует загрузки файлов в Dropbox, лучше использовать его с файлами меньшего размера.
Чтобы устранить проблему, просто найдите проблемный файл и загрузите его в Dropbox. После загрузки файла откройте хранилище Dropbox, переименуйте файл и загрузите его снова. Если вы используете автоматическую синхронизацию для Dropbox, файл будет автоматически загружен на ваш компьютер, и вы сможете получить к нему доступ без каких-либо проблем.
Параметры для Windows 10 Home
Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.
Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.
Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem и найдите ключ LongPathsEnabled.
Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.
Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.
Решение 2 – Создайте сетевой диск
Вы также можете временно устранить эту проблему, создав сетевой диск. Прежде чем вы сможете использовать это решение, вам нужно поделиться своей папкой. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
Как только папка открыта для общего доступа, вам необходимо создать сетевой диск. Это относительно просто, и вы можете сделать это, выполнив следующие действия:
- Откройте Этот компьютер . Перейдите на вкладку Компьютер и выберите вариант Подключить сетевой диск .
- Выберите нужную букву диска и путь к папке. Обязательно снимите флажок Повторно подключиться при входе в систему и нажмите кнопку Готово .
- Когда вы закончите, вы увидите новый доступный диск и можете использовать его для доступа к проблемным файлам.
Это относительно простой обходной путь, но если вы не знакомы с сетевыми папками и общим доступом, у вас могут возникнуть проблемы с выполнением этого решения. После создания сетевого диска вы можете легко переместить проблемные файлы в другую папку, чтобы устранить эту проблему.
Решение 4. Скопируйте или переместите эти файлы в другую папку
В большинстве случаев вы не сможете открыть файлы из-за этой ошибки, но вы можете переместить их. Просто найдите проблемные файлы и переместите их в другой каталог. Вы даже можете создать новый каталог в корневой папке, например, C: или D: и скопировать туда свои файлы. После этого вы сможете получить доступ к скопированным файлам без каких-либо проблем.
- ЧИТАЙТЕ ТАКЖЕ. Исправлено. Просмотр настроек рабочего стола неактивен в Windows.
Параметры для Windows 10 Pro или Enterprise
Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.
Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.
После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.
Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.
Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.
Настройка Windows 10 на обработку длинных путей к файлам
Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.
Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.
Решение 7 – Используйте Total Commander
Несколько пользователей сообщили, что удалили проблемные файлы с помощью GoodSync Explorer, так что вы также можете попробовать этот инструмент.
Решение 3 – Используйте Теракопию
Просто скачайте Teracopy и перетащите проблемные файлы в нее. Теперь нажмите Еще> Удалить , чтобы удалить проблемные файлы с вашего компьютера. Как видите, это довольно простое решение, если вам нужно удалить эти файлы, поэтому обязательно попробуйте.
Легкое Исправление
Если вам повезет, вы получите ошибку и точно знаете, какое имя файла вызывает проблему. Или, по крайней мере, где найти файл. Может быть, у вас есть имя файла, которое выглядит примерно так:
Понятно, кто в этом случае виновник. Найдите файл в проводнике Windows или в проводнике, как он называется в Windows 10, нажмите один раз на него, нажмите F2, чтобы переименовать его, и измените это глупое имя файла на более разумное. Задача решена.
Менее простые исправления
Не всегда легко решить эту проблему. Иногда вы не можете изменить имена файлов или каталогов по любой причине.
Следующие решения помогут вам. Их несложно сделать.
Обратите внимание, что слова каталог и папка являются взаимозаменяемыми. Мы будем использовать «каталог» в будущем. Следующие командлеты PowerShell также можно использовать для файлов.
Возможно, путь к файлу выглядит примерно так:
Этот путь к файлу составляет 280 символов. Поэтому мы не можем скопировать каталог оттуда куда-либо еще с помощью обычного метода копирования-вставки. Мы получаем ошибку Destination Path Too Long.
Давайте предположим, что по какой-то причине мы не можем переименовать каталоги, в которые вложен файл. Что мы делаем?
Когда откроется PowerShell, вы окажетесь в корне своего пользовательского каталога. Продолжайте, предполагая, что C:\Users\guymc — ваш пользовательский каталог.
Каталог с именем This находится в каталоге Documents. Чтобы перейти в каталог Documents, мы используем команду cd Documents .
Вы увидите быстрое изменение текущего каталога на C:\Users\guymc\Documents. Это хорошо. Мы работаем ближе к каталогам, которые облегчат жизнь.
Копирование каталога с использованием Copy-Item
Мы хотим скопировать каталог This и его содержимое в ThatNewFolder. Давайте используем команду PowerShell Copy-Item с параметрами -Destination и -Recurse.
-Destination сообщает PowerShell, где мы хотим, чтобы копия находилась. -Recurse говорит PowerShell скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.
Переместить каталог с помощью Move-Item
Допустим, мы хотим переместить каталог This, а также все каталоги и файлы в нем, в ThatNewFolder. Перемещение не оставляет оригинал на месте.
Мы можем использовать команду PowerShell Move-Item с параметрами -Path и -Destination. -Path определяет элемент, который мы хотим переместить, и -Destination сообщает PowerShell, где мы хотим его получить.
Команда поместит это в ThatNewFolder. Он также будет перемещать все, что находится внутри этого каталога. Move-Item может использоваться для перемещения файлов или каталогов, и он работает независимо от пути к файлу или длины имени файла.
Чтобы убедиться, что это работает, используйте команду cd ThatNewFolder , чтобы войти в ThatNewFolder. Затем используйте команду dir для вывода списка каталогов в ThatNewFolder. Вы увидите, что этот каталог находится там.
Удалить каталог с помощью Remove-Item
Если мы хотим удалить этот каталог и все в нем, мы используем команду Remove-Item.
Командлет Remove-Item обладает некоторой встроенной безопасностью, которая затрудняет удаление каталога с содержимым внутри него. В нашем примере мы знаем, что хотим удалить все, поэтому мы будем использовать параметры -Recurse, чтобы заставить его удалять все внутри, и -Force, чтобы он делал это, не спрашивая нас, уверены ли мы в каждом элементе внутри.
Имейте в виду! Восстановить что-либо удаленное таким образом было бы чрезвычайно сложно.
Вы можете снова использовать команду dir, чтобы убедиться, что она пропала.
Вот и все
Существуют и другие способы обхода длинных имен файлов и путей к файлам, но то, что мы здесь рассмотрели, — это самые простые и эффективные методы.
Решение 5. Добавьте эти файлы в архив
Имейте в виду, что архивирование может быть медленным процессом в зависимости от размера ваших файлов, поэтому вам может потребоваться некоторое время для архивирования всех файлов.Вы можете архивировать файлы без сторонних инструментов, и для этого нужно просто щелкнуть правой кнопкой мыши файл или папку, которую вы хотите заархивировать, и выбрать вариант Добавить в архив .
Некоторые пользователи также рекомендуют использовать инструмент 7-zip для решения этой проблемы. По их словам, вы можете использовать это приложение для создания zip-архива, но вы также можете использовать его для удаления проблемных файлов с вашего компьютера.
Читайте также: