Ошибка 206 имя файла или его расширение имеет слишком большую длину

I know this question has been asked before, but I wasn’t able to fix it using solutions from other posts.
I’m trying to compile a complex hierarchy of gwt projects using maven.
Everything worked fine until I had to add one more library, more specifically: org.eclipse.birt.runtime

Now I get this error:

[ERROR] Failed to execute goal org.codehaus.mojo:gwt-maven-plugin:2.6.1:debug ....

..... [Lots of jars, many containing birt, no duplicates though] .....


Error while executing process. Cannot run program "C:Program FilesJavajdk1.8.0_20jrebinjava": CreateProcess error=206, The filename or extension is too long

The dependency I’m using is:

<dependency>
    <groupId>org.eclipse.birt.runtime</groupId>
    <artifactId>org.eclipse.birt.runtime</artifactId>
    <version>4.4.1</version>
</dependency>

jww's user avatar

jww

96.9k90 gold badges409 silver badges878 bronze badges

asked Nov 4, 2014 at 8:42

ahlexander's user avatar

2

I finally managed to solve it:

Turns out birt, together with its dependencies, was simply adding too many libraries and the classpath became too long for windows command to handle. Furthermore, birt libraries have stupidly long names.

Solved it using this dependency (I only needed the runtime), I created the lib and birt directories and placed the jar there myself:

<dependency>
    <groupId>org.eclipse.birt.runtime</groupId>
    <artifactId>org.eclipse.birt.runtime</artifactId>
    <version>4.4.1</version>
    <scope>system</scope>
    <systemPath>${basedir}/lib/birt/birt.runtime-4.4.1.jar</systemPath>
</dependency>

answered Nov 5, 2014 at 11:28

ahlexander's user avatar

ahlexanderahlexander

3411 gold badge2 silver badges10 bronze badges

2

Birt has no reason to be in the classpath if it’s not used client-side.

Unfortunately, Maven sometimes makes things harder than necessary; so with Maven you need your GWT client code to be a specific Maven module with no dependency on server-side code; then «merge» everything into a single WAR using WAR overlays.

With that layout (let’s call the modules app-client and app-server), you have several solutions to launch gwt:run or gwt:debug:

  • never tried but you could probably configure hostedWebapp to point to your app-server output directory:

    <hostedWebapp>../app-server/target/app-server-${project.version}/</hostedWebapp>
    

    Make sure you run mvn clean before packaging your app-server WAR though to be sure the generated JS files come from app-client (as a WAR overlay) and not app-server (generated by gwt:run)

  • what I use in gwt-maven-archetypes: launch the server-side code in a distinct servlet container, and use <noServer>true</noServer>

    Make sure you run mvn clean before packaging too, or use -Dgwt.compiler.force, to be sure gwt:compile won’t treat the DevMode-generated *.nocache.js file as up-to-date and will recompile the application.

answered Nov 4, 2014 at 10:42

Thomas Broyer's user avatar

Thomas BroyerThomas Broyer

64.3k7 gold badges91 silver badges164 bronze badges

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

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

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

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

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

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

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

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

Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.

Параметры для Windows 10 Home

Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.

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

Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem и найдите ключ LongPathsEnabled.

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

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

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

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

Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit. Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.

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

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

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

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

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

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

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, мы используем команду cd 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

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

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

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

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

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

Remove-Item This -Recurse -Force

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

Вот и все

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

На чтение 10 мин. Просмотров 6.1k. Опубликовано 03.09.2019

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

Содержание

  1. Имя файла или расширение слишком длинное [FIX]
  2. Исправить – ERROR_FILENAME_EXCED_RANGE
  3. Решение 1. Изменить имя каталога
  4. Решение 2 – Создайте сетевой диск
  5. Решение 3 – Используйте Теракопию
  6. Решение 4. Скопируйте или переместите эти файлы в другую папку
  7. Решение 5. Добавьте эти файлы в архив
  8. Решение 6. Используйте командную строку
  9. Решение 7 – Используйте Total Commander
  10. Решение 8 – Используйте Long Path Tool
  11. Решение 9. Используйте командную строку для переименования файлов или папок
  12. Решение 10. Загрузите файл в Dropbox и переименуйте его
  13. Решение 11. Внесение изменений в групповую политику

Имя файла или расширение слишком длинное [FIX]

Исправить – ERROR_FILENAME_EXCED_RANGE

Решение 1. Изменить имя каталога

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

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

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

Решение 2 – Создайте сетевой диск

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

  1. Найдите папку, в которой находится проблемный файл, и щелкните по нему правой кнопкой мыши. Выберите в меню Поделиться с> определенными людьми .
  2. Выберите пользователя или группу, с которой вы хотите поделиться своим файлом, и нажмите кнопку Поделиться . По соображениям безопасности, вероятно, лучше выбрать имя пользователя.
  • ЧИТАЙТЕ ТАКЖЕ: исправлено: ошибка видео формата или типа MIME не поддерживается »ошибка видео в Firefox

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

  1. Откройте Этот компьютер . Перейдите на вкладку Компьютер и выберите вариант Подключить сетевой диск .
  2. Выберите нужную букву диска и путь к папке. Обязательно снимите флажок Повторно подключиться при входе в систему и нажмите кнопку Готово .
  3. Когда вы закончите, вы увидите новый доступный диск и можете использовать его для доступа к проблемным файлам.

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

Решение 3 – Используйте Теракопию

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

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

Решение 4. Скопируйте или переместите эти файлы в другую папку

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

  • ЧИТАЙТЕ ТАКЖЕ. Исправлено. Просмотр настроек рабочего стола неактивен в Windows .

Решение 5. Добавьте эти файлы в архив

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

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

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

Решение 6. Используйте командную строку

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

  1. Нажмите Windows Key + X , чтобы открыть меню Win + X, и выберите Командная строка (Admin) .
  2. Когда откроется командная строка , введите subst X: «C: Path_to_the_problematic_file» и нажмите Enter .
  3. После выполнения команды вы сможете получить доступ к диску X: и всем проблемным файлам.

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

  • ЧИТАЙТЕ ТАКЖЕ: как исправить ошибку “Сервер не найден” в браузере Firefox

Решение 7 – Используйте Total Commander

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

Несколько пользователей сообщили, что удалили проблемные файлы с помощью GoodSync Explorer, так что вы также можете попробовать этот инструмент.

Решение 8 – Используйте Long Path Tool

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

Кроме того, вы можете попробовать использовать такие инструменты, как Long Path Fixer, Long Path Eraser Free или Ant Renamer. Все эти инструменты бесплатны, и вы можете использовать их для переименования проблемных файлов или папок и получения к ним доступа.

Решение 9. Используйте командную строку для переименования файлов или папок

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

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

  1. Откройте Проводник .
  2. Перейдите на вкладку Вид и выберите Расширения имен файлов и Скрытые элементы . Таким образом вы обнаружите все скрытые файлы и расширения.
  • ЧИТАЙТЕ ТАКЖЕ: «Операционная система не может запустить% 1» [Исправить]

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

  1. Запустите Командную строку от имени администратора. Мы показали вам, как это сделать в Решении 6 , поэтому просмотрите подробные инструкции.
  2. После запуска командной строки введите REN «C: Path_to_the_problematic_fileProblematicFile.txt», «File2.txt» .
    , имейте в виду, что Вам необходимо ввести правильный путь к проблемному файлу, а также расширение файла. В качестве примера мы использовали ProblematicFile.txt , поэтому обязательно замените его на фактическое имя файла, которое приводит к этой ошибке.

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

  1. Откройте Командную строку от имени администратора.
  2. Когда откроется Командная строка , введите REN «C: Path_to_the_problematic_folder» «Имя новой папки». Обязательно выберите папку с самым длинным именем и переименуйте ее, чтобы сделать ее короче.
  3. После переименования папки вы сможете без проблем получить доступ к проблемным файлам.

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

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

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

  • ЧИТАЙТЕ ТАКЖЕ: невозможно загрузить файлы из Интернета в Windows 10 [Исправить]

Решение 11. Внесение изменений в групповую политику

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

  1. Нажмите Windows Key + R и введите gpedit.msc .
  2. После запуска редактора групповой политики на левой панели выберите Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Система> Файловая система . Теперь найдите Включить длинные пути NTFS в правой панели и дважды щелкните по нему.
  3. Выберите Включено и нажмите Применить и ОК , чтобы сохранить изменения.
  4. Закройте Редактор групповой политики , перезагрузите компьютер и проверьте, устранена ли проблема.

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

  1. Нажмите Windows Key + R и введите regedit . Нажмите Enter или нажмите ОК .
  2. Когда откроется Редактор реестра , на левой панели перейдите к ключу HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem . На правой панели найдите и дважды нажмите LongPathsEnabled DWORD. Если этот ключ недоступен, вам необходимо создать его вручную.

    Для этого щелкните правой кнопкой мыши пустое место на правой панели и выберите Создать> Значение DWORD (32-разрядное) . Введите LongPathsEnabled в качестве имени нового DWORD и дважды щелкните его, чтобы открыть его свойства.
  3. Когда откроется окно Свойства , установите для Значения данных значение 1 и нажмите ОК , чтобы сохранить изменения.
  4. Закройте Редактор реестра и перезагрузите компьютер.

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

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

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

Содержание

  1. Имя файла или расширение слишком длинное
  2. Имя файла или расширение слишком длинное [FIX]
  3. Исправить – ERROR_FILENAME_EXCED_RANGE
  4. Решение 1. Изменить имя каталога
  5. Решение 2 – Создайте сетевой диск
  6. Решение 3 – Используйте Теракопию
  7. Решение 4. Скопируйте или переместите эти файлы в другую папку
  8. Решение 5. Добавьте эти файлы в архив
  9. Решение 6. Используйте командную строку
  10. Решение 7 – Используйте Total Commander
  11. Решение 8 – Используйте Long Path Tool
  12. Решение 9. Используйте командную строку для переименования файлов или папок
  13. Решение 10. Загрузите файл в Dropbox и переименуйте его
  14. Решение 11. Внесение изменений в групповую политику
  15. Указано слишком длинное имя файла как открыть windows 7
  16. Вопрос
  17. Как исправить проблему «имя файла слишком длинное» в Windows
  18. Почему длина имени файла даже проблема в Windows?
  19. Легкое Исправление
  20. Менее простые исправления
  21. Заставьте Windows 10 принимать длинные пути к файлам
  22. Это оно
  23. Указано слишком длинное имя файла как открыть windows 7
  24. Описание проблемы длинных путей
  25. Методы снимающие ограничения на длину пути в Windows
  26. Нюансы длинных путей в приложениях
  27. Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику
  28. Включение поддержки длинных путей через реестр
  29. Как в Windows 10 отключить ограничение на длину пути в 260 символов через PowerShell
  30. Как удалять, копировать, переносить файлы и папки при ошибке с длинными путями
  31. Как в Windows 10 отключить ограничение на длину пути в 260 символов через командную строку
  32. Обход ограничений длинных путей через 7zFM
  33. Как обойти ограничение длинных путей через символьную ссылку

Имя файла или расширение слишком длинное

Имя файла или расширение слишком длинное [FIX]

Исправить – ERROR_FILENAME_EXCED_RANGE

Решение 1. Изменить имя каталога

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

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

Решение 2 – Создайте сетевой диск

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

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

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

Решение 3 – Используйте Теракопию

Решение 4. Скопируйте или переместите эти файлы в другую папку

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

Решение 5. Добавьте эти файлы в архив

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

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

Решение 6. Используйте командную строку

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

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

Решение 7 – Используйте Total Commander

Несколько пользователей сообщили, что удалили проблемные файлы с помощью GoodSync Explorer, так что вы также можете попробовать этот инструмент.

Решение 8 – Используйте Long Path Tool

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

Кроме того, вы можете попробовать использовать такие инструменты, как Long Path Fixer, Long Path Eraser Free или Ant Renamer. Все эти инструменты бесплатны, и вы можете использовать их для переименования проблемных файлов или папок и получения к ним доступа.

Решение 9. Используйте командную строку для переименования файлов или папок

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

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

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

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

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

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

Решение 11. Внесение изменений в групповую политику

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

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

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

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

Источник

Указано слишком длинное имя файла как открыть windows 7

trans

Вопрос

trans

trans

Недавно нашел статью, в которой сказано, что в В Windows 10 Anniversary сняли ограничение на длину путей и имен файлов в 260 символов https://windowstips.ru/notes/24858

Нашел другую статью, в которой сказано, что данная настройка переместилась с раздела NTFS в раздел Файловая система https://www.tenforums.com/tutorials/51704-enable-disable-win32-long-paths-windows-10-a.html

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

Но все равно не удается как переместить файлы в папки, которые располагаются по длинным путям, так и переименовать файлы и папки, которые имеют длинные пути.

Для копирования в нужную папку использую FastCopy или TeraCopy, для переименования и перемещения можно использовать еще Total Commander, но я им не пользуюсь, его интерфейс делает больно моим глазам.

К слову, с удалением слишком файлов с длинными именами как раз проблем особых и не возникло (может из-за включенной настройки Enable NTFS long paths (Включить длинные пути Win32, у меня русскоязычная локализация)

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

Источник

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

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

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

keyboard 469548 640.jpg.optimal

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

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

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

despaired 2261021 640.jpg.optimal

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

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

Как мы это исправим?

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

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

C: User guymc Documents Мои резюме резюме с именами на долгие годы, когда возникают проблемы, и они становятся частью нашего творчества.

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

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

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

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

Перемещение, удаление или копирование файлов или каталогов с помощью PowerShell

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

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

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

C: Users guymc Documents Это Is Точно Параметр Precise Directory Путь Это I Потребность К Have К Keep My Files Рассортировано В А Маннер Это ДАЕТ Sense К Me Так Lets Притворись В этом Is An Actual Filepath что вы Might Также Have на Ваш Windows компьютер А не Over Think It Document.docx

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

file explorer destination path too long error

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

Откройте PowerShell. Если вы еще не использовали PowerShell, прочитайте нашу статью «Использование PowerShell для домашних пользователей — Руководство для начинающих». Вы можете сделать следующие шаги, не читая статью, хотя.

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

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

powershell cd documents

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

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

powershell copy item

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

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

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

powershell move item

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

powershell this in thatnewfolder

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

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

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

powershell remove item

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

Заставьте Windows 10 принимать длинные пути к файлам

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

Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.

Заставьте Windows 10 Home принимать длинные пути к файлам

Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра. Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.

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

После открытия редактора реестра и создания резервной копии перейдите в папку HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control FileSystem и найдите ключ LongPathsEnabled.

regedit long path enabled

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

regedit long path enabled change value

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

Заставьте Windows 10 Pro или Enterprise принимать длинные пути к файлам

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

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

Откройте редактор групповой политики, перейдя в меню «Пуск» и введя gpedit. Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.

open group policy editor

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

group policy enable long filenames

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

group policy enable Win32 long paths enabled

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

Это оно

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

Источник

Указано слишком длинное имя файла как открыть windows 7

long paths on windows 01

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

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

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

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

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

long paths on windows 02

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

long paths on windows 03

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

long paths on windows 04

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

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

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

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

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

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

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

long paths on windows 05

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

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

long paths on windows 06

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

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

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

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

long paths on windows 07

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

long paths on windows 09

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

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

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

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

long paths on windows 08

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

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

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

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

long paths on windows 23

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

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

long paths on windows 10

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

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

long paths on windows 11

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

long paths on windows 12

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

long paths on windows 13

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

long paths on windows 14

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

long paths on windows 15

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

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

long paths on windows 16

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

Источник

Содержание

  1. CreateProcess error=206, The filename or extension is too long #110
  2. Comments
  3. CreateProcess error=206, The filename or extension is too long — Maven and Windows #8878
  4. Comments
  5. CreateProcess error=206, имя файла или расширение слишком длинное при запуске метода main
  6. 14 ответов:

CreateProcess error=206, The filename or extension is too long #110

/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:28 Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «F:job2017vscodedev_tools20170918Javajdk1.8.0_91jrebinjava»: CreateProcess error=206, The filename or extension is too long.

The text was updated successfully, but these errors were encountered:

@testforstephen please follow up with this.

This issue has been closed automatically because it needs more information and has not had recent activity. Please reach out if you have or find the answers we need so that we can investigate further.

What information is needed? I am having the issue and can provide additional information, but there’s no clear request in this ticket’s history.

Could you tell us your classpath length? we want to find the length limitation for CreateProcess, then find a project to reproduce the problem.

Windows Create Process has 32K limitation on the command line. [Source]
Need find some way to pass the long classpath to Java program.

Sorry, I’m new to Java — how do I determine the classpath value/length?

@jamestharpe thanks for response. we have figured out the maximum command line length. It’s 32K(32768) characters. Will provide a fix for the long classpath case.

@testforstephen It can easily be reproduced adding to a simple Spring Boot application with the dependency as below:

I can share the entire gradle project if you want.

@EnriqueEll Thanks for the feedback, appreciate a lot if you can share the entire gradle project to help us to verify the bug.

You have any solution, because I have the same problem.

I am getting this error in windows 10.

[Error — 7:09:48 PM] 21-Jan-2019, 7:09:47 PM [error response][launch]: Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
com.microsoft.java.debug.core.DebugException: Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
at com.microsoft.java.debug.core.adapter.handler.LaunchWithoutDebuggingDelegate.launchInternally(LaunchWithoutDebuggingDelegate.java:94)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.launch(LaunchRequestHandler.java:142)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handleLaunchCommand(LaunchRequestHandler.java:90)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handle(LaunchRequestHandler.java:57)
at com.microsoft.java.debug.core.adapter.DebugAdapter.lambda$dispatchRequest$0(DebugAdapter.java:85)
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
at com.microsoft.java.debug.core.adapter.DebugAdapter.dispatchRequest(DebugAdapter.java:84)
at com.microsoft.java.debug.core.adapter.ProtocolServer.dispatchRequest(ProtocolServer.java:118)
at com.microsoft.java.debug.core.protocol.AbstractProtocolServer.lambda$new$0(AbstractProtocolServer.java:78)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:60)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:200)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)

[Error — 7:09:48 PM] 21-Jan-2019, 7:09:48 PM [error response][launch]: Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
com.microsoft.java.debug.core.DebugException: Failed to launch debuggee VM. Reason: java.io.IOException: Cannot run program «C:Program FilesJavajdk-10.0.2binjava» (in directory «c:UsersSumanthDocumentsturbo-workspacedev-for-uat-release18-elb»): CreateProcess error=206, The filename or extension is too long
at com.microsoft.java.debug.core.adapter.handler.LaunchWithoutDebuggingDelegate.launchInternally(LaunchWithoutDebuggingDelegate.java:94)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.launch(LaunchRequestHandler.java:142)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handleLaunchCommand(LaunchRequestHandler.java:90)
at com.microsoft.java.debug.core.adapter.handler.LaunchRequestHandler.handle(LaunchRequestHandler.java:57)
at com.microsoft.java.debug.core.adapter.DebugAdapter.lambda$dispatchRequest$0(DebugAdapter.java:85)
at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
at com.microsoft.java.debug.core.adapter.DebugAdapter.dispatchRequest(DebugAdapter.java:84)
at com.microsoft.java.debug.core.adapter.ProtocolServer.dispatchRequest(ProtocolServer.java:118)
at com.microsoft.java.debug.core.protocol.AbstractProtocolServer.lambda$new$0(AbstractProtocolServer.java:78)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:60)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:200)
at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:252)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:61)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:844)

Gentlemen, please could you do something about this problem as it practically renders VSCode unable to debug any non-trivial Spring Boot project on Windows!

The problem is, as @testforstephen pointed out, with Windows command line length limit which is 32768 characters.

It is also rather simple to reproduce as @EnriqueEll has shown: Once you have some very basic Gradle project for Spring Boot application (created with Spring Initializr, https://start.spring.io/) e.g.:

It starts and debugs correctly until you un-comment two commented lines in dependencies section when it displays said «206» error. Also if you use command line sequence gradle clean build and then gradle bootRun it will fail to start.

Источник

CreateProcess error=206, The filename or extension is too long — Maven and Windows #8878

Overview of the issue

The goal spring-boot:run fails due to classpath being too large in a jhUAA project with too many dependencies selected on Windows (using Maven).

Seems to be the same issue as #4323 except for Maven. For Gradle it was fixed with #4324.

Motivation for or Use Case

Generated microservice jhUAA application cannot be run on Windows.

Reproduce the error

Generate a microservice UAA application on Windows with preferences of following .yo-rc.json file

Related issues

Seems like #4323 is the same issue just for gradle

Suggest a Fix

Perhaps it can be fixed in the same way as #4323 was fixed (see #4324)

JHipster Version(s)
JHipster configuration

jhipster info
INFO! Using JHipster version installed locally in current project’s node_modules
INFO! Executing jhipster:info
INFO! Options: from-cli: true
Welcome to the JHipster Information Sub-Generator

JHipster Version(s)
JHipster configuration, a .yo-rc.json file generated in the root folder
JDL for the Entity configuration(s) entityName.json files generated in the .jhipster directory
Environment and Tools

java version «1.8.0_171»
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

git version 2.10.2.windows.1

INFO! Congratulations, JHipster execution is complete!

Entity configuration(s) entityName.json files generated in the .jhipster directory
Browsers and Operating System

Chrome and Windows 10

  • Checking this box is mandatory (this is just to show you read everything)

The text was updated successfully, but these errors were encountered:

Источник

У меня есть эта ошибка в eclipse helios:

исключение произошло при выполнении командной строки.
Не удается запустить программу «C:Program файлы (x86)Javajre6binjavaw.exe » (в каталоге «C:Usersmotiverhelios_workspaceTimeTracker»): CreateProcess error=206, имя файла или расширение слишком длинное

Я исследовал немного, но большинство вопросов были связаны с DataNucleus при работе на Google App Engine. Но я не использую ничего отдаленно связанного с Google Приложение Двигателя. Я делаю небольшой проект с сервлетом 3.0 на JBOSS 6. Я использую Hibernate 4.1.2 для ORM и RESTEasy для предоставления веб-службы. Я создал файл util, который имеет метод main (), который в основном удаляет и повторно создает схему. Я запускаю main () methos, когда мне нужна чистая база данных для целей тестирования. Он отлично работал на Tomcat 7, но он перестал работать, когда я переехал в JBoss 6.

любой намек или решение были бы весьма признательны.

14 ответов:

нет простого (как в пару кликов или простой команды) решения этой проблемы.

цитирование из некоторых ответов в этот отчет об ошибке в Eclipse.org, это обходные пути. Выберите тот, который является наименее болезненным для вас:

  • уменьшить путь к классу
  • использовать каталоги вместо файлов jar
  • используйте упакованные файлы jar, которые содержат все другие банки, используйте переменную classpath внутри файла манифеста, чтобы укажите на другие банки
  • используйте специальный загрузчик классов, который считывает путь к классу из файла конфигурации
  • попробуйте использовать один из прикрепленных патчей в документе отчета об ошибке
  • используйте собственную обертку, например, ant
  • перейти к IntelliJ (обновление: как указывает @nitind, это не вариант)

обновление: после июля 2014 года, есть лучший способ (благодаря ответ@Brad-Mace ниже:

Если вы создали свой собственный файл сборки вместо использования Project -> Generate Javadocs , то вы можете добавить useexternalfile=»yes» к задаче Javadoc, которая разработана специально для решения этой проблемы.

Если вы создаете свой собственный файл build, а не с помощью Project -> Generate Javadocs вы можете добавить useexternalfile=»yes» до javadoc задача, которая разработана специально для решения этой проблемы.

попробуйте обновить версию Eclipse, проблема была закрыта недавно (2013-03-12). Проверьте отчет об ошибкеhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=327193

отвечая на мой собственный вопрос здесь, чтобы решение не было похоронено в комментариях. Я экспортировал проект как запускаемый jar из eclipse и сделал командную строку «java-jar MyJar.jar » и он отлично работает

по сообщению 327193 ошибка это считается фиксированным, но это случилось со мной недавно с Eclipse Kepler 4.3.2.

пожалуйста, скачайте патч для Eclipse Juno или новее:

  1. после загрузки резервное копирование существующих eclipse / plugins / org.затмение.JDT, предназначенным.launching_3.*.банку
  2. копирование и вставка классов в патч в организацию.затмение.JDT, предназначенным.запуск банку (заменять существующий файл.)
  3. Перезапустить Eclipse.

Я получил ту же ошибку, при вызове Maven.

основной причиной моей проблемы была classpath был очень огромный. Обновление пути к классам устранило проблему.

Я сегодня столкнулся с этой проблемой и смог решить ее с помощью этот плагин Gradle

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

это происходит из-за DataNucleus иногда перезаписывают аргументы со многими путями.

вы должны перезаписать их следующим образом:

— enhancerName ASM-api JDO-pu MediaToGo

правильный ответ из этой темы был правильным ответом для моего особого случая. Укажите путь к папке ORM для datanucleus, конечно, уменьшите компиляцию пути java.

Я получил сообщение об ошибке ниже, когда я запускаю’развернуть АНТ

исправлено с помощью run’очистить муравей‘, прежде чем он.

Я получил ту же ошибку в Android studio. Я смог решить ее, запустив Build ->Очистить Проект в IDE.

Это из-за вашего длинного имени каталога проекта, который дает вам очень длинный CLASSPATH в целом. Либо вам нужно уменьшить банки, добавленные в CLASSPATH (убедитесь, что удаление ненужных банок только) или лучший способ, чтобы уменьшить каталог проекта и импортировать проект снова. Это позволит уменьшить CLASSPATH . Это сработало для меня.

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

Источник

Gentlemen, please could you do something about this problem as it practically renders VSCode unable to debug any non-trivial Spring Boot project on Windows!

The problem is, as @testforstephen pointed out, with Windows command line length limit which is 32768 characters.

It is also rather simple to reproduce as @EnriqueEll has shown: Once you have some very basic Gradle project for Spring Boot application (created with Spring Initializr, https://start.spring.io/) e.g.:

buildscript {
	ext {
		springBootVersion = '2.0.6.RELEASE'
	}
	repositories {
		mavenCentral()
	}
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
	}
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.necne'
version = '0.0.1'
sourceCompatibility = 1.8

repositories {
	mavenCentral()
}

dependencies {
	implementation('org.springframework.boot:spring-boot-starter-data-jpa')
	implementation('org.springframework.boot:spring-boot-starter-web')
	runtimeOnly('org.springframework.boot:spring-boot-devtools')
	runtimeOnly('com.h2database:h2')
	testImplementation('org.springframework.boot:spring-boot-starter-test')

	implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
	implementation('org.mongodb.spark:mongo-spark-connector_2.11:2.3.1')

	// compile('org.apache.spark:spark-core_2.11:2.3.2')
	// compile('org.apache.spark:spark-sql_2.11:2.3.2')

	implementation("io.springfox:springfox-swagger2:2.0.2")
	implementation("io.springfox:springfox-swagger-ui:2.0.2")
}

It starts and debugs correctly until you un-comment two commented lines in dependencies section when it displays said «206» error. Also if you use command line sequence gradle clean build and then gradle bootRun it will fail to start.

This problem has long been known for long time (e.g. gradle/gradle#1989, https://virgo47.wordpress.com/2018/09/14/classpath-too-long-with-spring-boot-and-gradle/) and there are some ways to deal with, most notably, there is a way to make Gradle build a .jar with paths for all of the classes referenced. There is a plugin for Gradle (ManifestClasspath) which has a bug rendering it unusable for paths with spaces and there is a number of solutions involving modification of build.gradle so that it creates appropriate .jar.

All of the tools had to deal with this in some way, e.g. InteliJ IDEA has appropriate setting in project settings:

shorten-command-line

So generally if I understand things correctly there is a need to modify command line that invokes debug session to include classpath.jar and exclude all paths passed explicitly. This should be possible to do using command in launch.json but my attempts to do so were unsuccessful — probably there is something underneath that passes the paths even if args in launch.json try to pass the name of the classpath.jar.

17 ответов

В этой проблеме нет простого (как в случае нескольких кликов или простой команды).

Цитата из некоторых ответов в этот отчет об ошибках в Eclipse.org, это обходные пути. Выберите тот, который вам наименее болезненным:

  • Уменьшить путь к классам
  • Используйте каталоги вместо файлов jar.
  • Используйте упакованные файлы jar, которые содержат все другие банки, используйте переменную classpath внутри файла манифеста, чтобы указать на другие банки
  • Используйте специальный загрузчик классов, который читает путь к классам из файла конфигурации
  • Попробуйте использовать один из прикрепленных исправлений в документе отчета об ошибке
  • Используйте собственную оболочку, например. ant
  • Перейдите в IntelliJ (Update: как указывает @nitind, это не вариант)

Обновление. После июля 2014 года есть лучший способ (спасибо @Brad-Mace ответ ниже:

Если вы создали свой собственный файл сборки вместо Project -> Generate Javadocs, вы можете добавить useexternalfile="yes" в задачу Javadoc, предназначенную специально для решения этой проблемы.

espinchi
15 май 2012, в 10:03

Поделиться

Если вы создаете свой собственный файл сборки, а не используете Project -> Generate Javadocs, вы можете добавить useexternalfile="yes" в задачу javadoc, которая разработана специально для решения этой проблемы.

Brad Mace
25 апр. 2014, в 18:01

Поделиться

Я столкнулся с этой проблемой сегодня, и я смог решить ее с помощью этого плагина Gradle

Это GitHub URL это

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

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}

Alejandro B.
08 июнь 2018, в 15:27

Поделиться

Отвечая на мой собственный вопрос, чтобы решение не зарывалось в комментариях. Я экспортировал проект в качестве исполняемого банку из eclipse и выполнил командную строку «java -jar MyJar.jar», и он отлично работает

motiver
15 май 2012, в 22:33

Поделиться

У меня такая же ошибка, при вызове Maven.

Основной причиной моей проблемы был classpath был очень большой. Обновление пути к классам устранено.

Sandeep Jindal
06 янв. 2015, в 21:31

Поделиться

В отчете об ошибке Ошибка 327193 считается фиксированным, но это происходит со мной недавно с Eclipse Kepler 4.3.2.

Загрузите патч для Eclipse Juno или новее:

https://bugs.eclipse.org/bugs/attachment.cgi?id=216593

  • После загрузки резервной копии существующих
    Затмение/плагины/org.eclipse.jdt.launching_3. *. баночка
  • Скопировать и вставить классы в патч в org.eclipse.jdt.launching JAR
    (заменить существующие файлы).
  • Перезапустить Eclipse.

Maciej Dzikowicki
22 май 2014, в 21:23

Поделиться

Попробуйте следующее:

java -jar -Dserver.port = 8080 build/libs/APP_NAME_HERE.jar

user3272405
06 апр. 2017, в 18:49

Поделиться

Это не специально для затмения, но я обошел это путем создания символической ссылки на мой репозиторий maven и указания на что-то вроде «C:R». Затем я добавил следующее в мой файл settings.xml:

<localRepository>C:R</localRepository>

Путь к репозиторию maven способствовал проблемам с длиной в моей машине с Windows.

Shygar
31 янв. 2019, в 02:52

Поделиться

Вопрос старый, но все еще актуален. Я часто сталкиваюсь с такой ситуацией, когда к моей команде присоединяется новый участник или в существующий код добавляется новый сегмент кода. Простой обходной путь, которому мы следуем, — это «Уменьшить путь к классам», перемещаясь вверх по каталогам.

Как уже упоминалось, это не относится к затмению. Я сталкивался с этой проблемой также в IntelliJ Idea 14 и 2018.

После долгих исследований я нашел решение установить

fork = false

в javc файла сборки муравья.

<javac destdir="${build.dir}" fork="false" debug="on">
    <classpath .../>
    <src ... />
    <patternset ... />
</javac>

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

Don D
02 янв. 2019, в 06:57

Поделиться

Я получил ту же ошибку. Пробные решения, такие как очистка, восстановление, invalidateCache, retart и т.д., Но ничего не работает.

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

Tara
31 окт. 2018, в 11:06

Поделиться

У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому я делюсь здесь, потому что я нигде не нашел этого, поэтому, если у вас есть эта проблема на NetBeans, попробуйте это:
(имена могут быть отключены, так как мои NetBeans на португальском языке) Щелкните правой кнопкой мыши проект> свойства> сборка> компиляция> Снимите флажок запускать компиляцию на внешней виртуальной машине.

Régis B.
01 авг. 2018, в 19:26

Поделиться

Это из-за вашего длинного имени каталога проекта, которое дает вам очень длинный CLASSPATH целом. Либо вам нужно уменьшить количество jar файлов, добавленных в CLASSPATH (убедитесь, что вы удалили только ненужные jar файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH. Это сработало для меня.

deepesh kumar
22 май 2018, в 06:34

Поделиться

Я получил ту же ошибку в студии Android. Я смог разрешить его, запустив Сборка Очистить проект в среде IDE.

Kiran
13 июнь 2017, в 10:47

Поделиться

Я получил ошибку ниже, когда я запускаю ant deploy

Cannot run program "C:javajdk1.8.0_45binjava.exe": CreateProcess error=206, The filename or extension is too long

Исправлено его, выполнив ‘ ant clean‘.

maoyang
04 фев. 2016, в 00:59

Поделиться

это происходит из-за того, что DataNucleus иногда перезаписывает Аргументы со многими путями.

Вам необходимо перезаписать их следующим образом:

-enhancerName ASM -api JDO -pu MediaToGo

Надеюсь помочь вам!

Rodrigohsb
02 май 2013, в 15:43

Поделиться

Ещё вопросы

  • 0Как я могу отобразить все видео в каталоге через HTML5 и PHP?
  • 0Как рассчитать время приема-передачи для пакета ICMP
  • 1Доступ к защищенной WebHDFS Kerberos без SPnego
  • 0Ячейка таблицы HTML — восстановление значений
  • 1Проблема записи на приложение для Android
  • 1Есть ли способ ввести переменную шага огурца из области действия сценария в cucmber?
  • 1Сохранить переменную в постбэках, но очистить / не сохранить на странице выхода
  • 1Переменная окружения в Javascript (Gulp)
  • 0Динамический частичный AngularJS в $ templateCache удаляется
  • 1Как включить объект, который имеет общее свойство списка и свойство ссылочного типа в dapper?
  • 0Мой JavaScript не проверяет радиовходы моей формы правильно
  • 0получить идентификатор всех отмеченных флажков в div
  • 1log4j — ОШИБКА, лог DEBUG?
  • 1Как отправить запрос на экспресс-сервер из собственного приложения реагирования?
  • 1почему response.redirect не может перенаправить страницу после истечения сеанса в global.aspx?
  • 0Рассчитать сумму подписки новых пользователей MySQL
  • 1Привязка к карте в универсальном приложении
  • 1Ошибка с моим генератором паролей грубой силы (Java)
  • 1Как использовать расширенный Jackson MapSerializer в Hashmap
  • 1Случайная матрица: по индексу i, j найти те же значения
  • 1Что такое большое обозначение этих алгоритмов перестановки
  • 0Intellisense: аргумент типа «HWND» несовместим с параметром типа «rawData :: HWND»
  • 0Сообщение проверки Jquery не работает
  • 0Segfault при использовании std :: string.c_str () в качестве аргумента для другого метода
  • 0Ошибка со структурой инициализации в C ++
  • 1Цепочка обещаний не в состоянии
  • 0Javascript Заполнить скрытый ввод HTML с помощью JSON и указать кавычки при отправке на серверную часть
  • 1Maven-Shade-плагин: сделать банку, а мы на войне Проект?
  • 0AngularJS как получить логическое значение
  • 1Я сделал класс для развлечения, но он действительно быстро исчерпал кучу места?
  • 1Функция простой практики отображает NaN
  • 0Проблема с кислородом: все главы 0
  • 0получить данные таблицы, если совпадение полей с использованием codeigniter
  • 1Python re.sub захватывает одного персонажа из группы
  • 1Могу ли я использовать тот же dbcontext для идентификации asp
  • 0Как сделать Regex для href?
  • 1Возврат данных из диалога
  • 1Является ли формат файла конфигурации DRBD стандартным?
  • 1Вызов PICK_CONTACT Намерение не от Действия
  • 1Свойство ‘do’ не существует для типа ‘Подписка’
  • 1Android TableLayout проблема: горизонтальный скроллер выходит за пределы правой стороны экрана
  • 0Может ли jQuery добавить что-то конкретное ВНУТРИ URL?
  • 0Использование std :: begin (collection) против collection.begin () в C ++
  • 1Процесс запущен, ошибок нет, активность не видна на Android> 1.6
  • 1Содержимое файла в байтовом массиве?
  • 0C ++ стандартная альтернатива itoa () для преобразования int в base 10 char *
  • 1Получить RadGrid Выбранный элемент Индекс строки
  • 0скрыть чувствительный код в проекте C ++
  • 1В моем коде произошла ошибка, однако я не могу определить причину. (getpixel () принимает 2 позиционных аргумента, но 3 было дано)
  • 1Ошибка возврата нулевого значения DataAdapter.fill

Всем доброго времени суток!

Получил я задачу написать скриптик резервного копирования. Обычно я все делаю под linux — но в этот раз мне не повезло — задача стоит написать под Mustdie (Windows :) ). Собственно сам скриптик я написал — вот он:

#!/usr/bin/env python
# -*-coding: cp1251 -*-

import win32api
import os
import time
import subprocess

ZIPPATH='C:\Program Files\7-Zip\7z.exe'

def spacechk(diskletter):
"""
Функция определяющая свободное место на диске в байтах
Использование:
spacechk(diskletter), где
diskletter - буква диска в формате "c:\";
"""
# Получаем данные о диске - количество секторов в кластере(a), количество
# байтов в секторе(b), количество сободных кластеров(c), общее кол-во
# кластеров в диске(d)
a,b,c,d = win32api.GetDiskFreeSpace(diskletter)
return (a*b*c)

def findfldt(dirpath, newest=False):
"""
Функция ищущая самый старый/новый файл в заданной папке
Использование:
findfldt(dirpath, [newest]), где
dirpath - полный путь до папки, в которой производится поиск;
newest - переключатель выбирающий какой файл искать - самый старый или
самый новый. Значение False соответствует самому старому, True - самому
новому. По умолчанию ищется самый старый;
"""
fltimes = []
# Проходимся по всем файлам в заданной папке
for ph,dirs,files in os.walk(dirpath):
for fl in files:
# Для каждого из файлов определяем полный путь
fullp = os.path.join(ph,fl)
# Собираем список файлов в формате (время_в_unixtime,полный_путь)
fltimes.append( (os.path.getmtime(fullp),fullp) )
# Возвращаем первый файл из отсортированного списка.
if fltimes:
return sorted(fltimes,reverse=newest)[0]
# Если данная папка пуста, то возвращаем размер=0, имя_файла = ''
else:
return (0,'')

def crtarch(path,pathtoarch,prefix=''):
"""
Функция создающая архив типа zip из заданной папки/файла
Использование:
crtarch(path,pathtoarch,[prefix]), где
path - путь к папке/файлу для архивации;
pathtoarch - путь по которому надо положить архив;
prefix - Имя архива является датой типа 2009-12-25_15:50.zip Значение этой
переменной будет поставлено перед датой - backup_2009-12-25_15:50.zip;
"""
# Создаем имя для архива
if prefix:
nm = prefix + '_' + time.strftime('%Y-%m-%d_%H-%M')
else:
nm = time.strftime('%Y-%m-%d_%H-%M')
# Получаем полный путь к архиву
arch = os.path.join(pathtoarch,nm) + '.zip'
# Создаем архив по заданному пути, используя сторонюю программу
subprocess.call('"%s" a "%s" "%s"' % (ZIPPATH, arch, path) )

def rmoldestfl(dsk,path,growth=10):
"""
Функция освобождающая место на диске под новый архив
Использование:
rmoldestfl(dsk,path,[growth]), где
dsk - буква диска в формате "c:\";
path - путь к папке из которой следует удалать старые копии архивов,
ориентируясь на размер последней копии;
growth - Коэф прироста бэкапа за время с момента последнего копирования,
в %(целое число). По умолчанию - 10%;
"""
# Определяем пустое место на диске
freesp = spacechk(dsk)
# Определяем размер последнего архива
flsz,flname = findfldt(path, True)
# До тех пор пока место на диске меньше размера последнего архива с учетом
# коэф прироста
while freesp < (flsz + flsz*growth/100.):
# Находим самый старый архив
oldfl = findfldt(path)
# И удаляем его
os.remove(oldfl[1])
freesp = spacechk(dsk)
flsz,flname = findfldt(path, True)

if __name__ == '__main__':
# rmoldestfl('F:\','F:\Backup')
# crtarch('D:\Documents\242\Проекты','F:\Backup','projects')
print findfldt('D:\Documents\242\Проекты')

Начал я его тестировать (собственно вы видите что в основной секции функции нужные для запуска закомментированы — используется только одна — findfldt(‘D:\Documents\242\Проекты’) ). Запустил поиск старых/новых файлов по целевому каталогу для архивирования (в реальнности так работать не должно). Получил такую вот ошибку —

IDLE 2.6.1      ==== No Subprocess ====
>>>
Traceback (most recent call last):
File "F:pybkpdoc.py", line 97, in <module>
print findfldt('D:\Documents\242\Проекты')
File "F:pybkpdoc.py", line 41, in findfldt
fltimes.append( (os.path.getmtime(fullp),fullp) )
File "C:Python26libgenericpath.py", line 54, in getmtime
return os.stat(filename).st_mtime
WindowsError: [Error 206] : 'D:\Documents\242\xcfxf0xeexe5xeaxf2xfb\xc2xd3xc7xdb\xccxc3xd3xcaxc8 xf2xe5xe0xf2xf0 xd5xe8xecxeaxe8\xcexf2xefxf0xe0xe2xeaxe0\xc8xedxf2xe5xf5\xccxc3xd3xcaxc8 xd5xe8xecxeaxe8 30-01-09\xf1xe2xe5xf2-xecxe5xf5xe0xedxe8xeaxe0\xccxc3xd3xcaxc8 xd2xcaxc7 xd5xeexf0xe5xeexe3xf0xe0xf4xe8xf7xe5xf1xeaxe8xe9 xe7xe0xeb xd1xe2xe5xf2 xddxebxe5xeaxf2xf0xeexecxe5xf5xe0xedxe8xeaxe0\UKI-EO3.07.E7_Shema_razm-ya_oborud-ya._Uroven_svetoregulyatornoi_i_sofitov_repeticionnogo_horeograficheskogo_zala.dwg'
>>>

После некоторого гугления было выяснено что

Код ошибки: 206 (0x00CE)
Имя файла или его расширение имеет слишком большую длину.

Соответственно хотелось бы понимать в чем причина — не хотелось бы чтобы эта ошибка вылетала при архивировании (т е не хотелось бы иметь битые резервные копии). Вроде я подстраховался как мог, перевесив все архивирование на 7z — но все таки.

Попробую ночью запустить этот скрипт (днем все будет тормозить — там 40Гб) — посмотрю как работает.

Всем спасибо

Отредактировано (Дек. 26, 2009 13:06:34)

17 ответов

В этой проблеме нет простого (как в случае нескольких кликов или простой команды).

Цитата из некоторых ответов в этот отчет об ошибках в Eclipse.org, это обходные пути. Выберите тот, который вам наименее болезненным:

  • Уменьшить путь к классам
  • Используйте каталоги вместо файлов jar.
  • Используйте упакованные файлы jar, которые содержат все другие банки, используйте переменную classpath внутри файла манифеста, чтобы указать на другие банки
  • Используйте специальный загрузчик классов, который читает путь к классам из файла конфигурации
  • Попробуйте использовать один из прикрепленных исправлений в документе отчета об ошибке
  • Используйте собственную оболочку, например. ant
  • Перейдите в IntelliJ (Update: как указывает @nitind, это не вариант)

Обновление. После июля 2014 года есть лучший способ (спасибо @Brad-Mace ответ ниже:

Если вы создали свой собственный файл сборки вместо Project -> Generate Javadocs, вы можете добавить useexternalfile="yes" в задачу Javadoc, предназначенную специально для решения этой проблемы.

espinchi
15 май 2012, в 10:03

Поделиться

Если вы создаете свой собственный файл сборки, а не используете Project -> Generate Javadocs, вы можете добавить useexternalfile="yes" в задачу javadoc, которая разработана специально для решения этой проблемы.

Brad Mace
25 апр. 2014, в 18:01

Поделиться

Я столкнулся с этой проблемой сегодня, и я смог решить ее с помощью этого плагина Gradle

Это GitHub URL это

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

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}

Alejandro B.
08 июнь 2018, в 15:27

Поделиться

Отвечая на мой собственный вопрос, чтобы решение не зарывалось в комментариях. Я экспортировал проект в качестве исполняемого банку из eclipse и выполнил командную строку «java -jar MyJar.jar», и он отлично работает

motiver
15 май 2012, в 22:33

Поделиться

У меня такая же ошибка, при вызове Maven.

Основной причиной моей проблемы был classpath был очень большой. Обновление пути к классам устранено.

Sandeep Jindal
06 янв. 2015, в 21:31

Поделиться

В отчете об ошибке Ошибка 327193 считается фиксированным, но это происходит со мной недавно с Eclipse Kepler 4.3.2.

Загрузите патч для Eclipse Juno или новее:

https://bugs.eclipse.org/bugs/attachment.cgi?id=216593

  • После загрузки резервной копии существующих
    Затмение/плагины/org.eclipse.jdt.launching_3. *. баночка
  • Скопировать и вставить классы в патч в org.eclipse.jdt.launching JAR
    (заменить существующие файлы).
  • Перезапустить Eclipse.

Maciej Dzikowicki
22 май 2014, в 21:23

Поделиться

Попробуйте следующее:

java -jar -Dserver.port = 8080 build/libs/APP_NAME_HERE.jar

user3272405
06 апр. 2017, в 18:49

Поделиться

Это не специально для затмения, но я обошел это путем создания символической ссылки на мой репозиторий maven и указания на что-то вроде «C:R». Затем я добавил следующее в мой файл settings.xml:

<localRepository>C:R</localRepository>

Путь к репозиторию maven способствовал проблемам с длиной в моей машине с Windows.

Shygar
31 янв. 2019, в 02:52

Поделиться

Вопрос старый, но все еще актуален. Я часто сталкиваюсь с такой ситуацией, когда к моей команде присоединяется новый участник или в существующий код добавляется новый сегмент кода. Простой обходной путь, которому мы следуем, — это «Уменьшить путь к классам», перемещаясь вверх по каталогам.

Как уже упоминалось, это не относится к затмению. Я сталкивался с этой проблемой также в IntelliJ Idea 14 и 2018.

После долгих исследований я нашел решение установить

fork = false

в javc файла сборки муравья.

<javac destdir="${build.dir}" fork="false" debug="on">
    <classpath .../>
    <src ... />
    <patternset ... />
</javac>

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

Don D
02 янв. 2019, в 06:57

Поделиться

Я получил ту же ошибку. Пробные решения, такие как очистка, восстановление, invalidateCache, retart и т.д., Но ничего не работает.

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

Tara
31 окт. 2018, в 11:06

Поделиться

У меня была такая же проблема, но вместо этого я использовал netbeans.
Я нашел решение, поэтому я делюсь здесь, потому что я нигде не нашел этого, поэтому, если у вас есть эта проблема на NetBeans, попробуйте это:
(имена могут быть отключены, так как мои NetBeans на португальском языке) Щелкните правой кнопкой мыши проект> свойства> сборка> компиляция> Снимите флажок запускать компиляцию на внешней виртуальной машине.

Régis B.
01 авг. 2018, в 19:26

Поделиться

Это из-за вашего длинного имени каталога проекта, которое дает вам очень длинный CLASSPATH целом. Либо вам нужно уменьшить количество jar файлов, добавленных в CLASSPATH (убедитесь, что вы удалили только ненужные jar файлы), либо лучше всего уменьшить каталог проекта и снова импортировать проект. Это уменьшит CLASSPATH. Это сработало для меня.

deepesh kumar
22 май 2018, в 06:34

Поделиться

Я получил ту же ошибку в студии Android. Я смог разрешить его, запустив Сборка Очистить проект в среде IDE.

Kiran
13 июнь 2017, в 10:47

Поделиться

Я получил ошибку ниже, когда я запускаю ant deploy

Cannot run program "C:javajdk1.8.0_45binjava.exe": CreateProcess error=206, The filename or extension is too long

Исправлено его, выполнив ‘ ant clean‘.

maoyang
04 фев. 2016, в 00:59

Поделиться

это происходит из-за того, что DataNucleus иногда перезаписывает Аргументы со многими путями.

Вам необходимо перезаписать их следующим образом:

-enhancerName ASM -api JDO -pu MediaToGo

Надеюсь помочь вам!

Rodrigohsb
02 май 2013, в 15:43

Поделиться

Ещё вопросы

  • 0JQuery зависимые поля выбора (выбраны)
  • 0Установка высоты абсолютно позиционированного элемента div по высоте его содержимого
  • 0ng Cordova file_uri к base64
  • 0removeAttr не удаляет отключенный атрибут в Firefox
  • 1Почему запуск веб-приложения приводит к ошибке дублирующегося файла DLL
  • 0в то время как удалить / обновить значение структуры в векторе, получая ошибку компиляции?
  • 1Строковый параметр слишком длинный. извлечение данных из базы данных в шаблон слова
  • 1Ускорьте поиск и вставьте в параллельную сумку c #
  • 0Выбор QTreeView очищает цвет текста
  • 1Передача параметров через URL в C # ASP.net
  • 0Как можно передать идентификатор с одного маршрутизатора на другой в Node.js
  • 1MVC 5 Динамическая панель навигации 2 уровня
  • 0Не удалось получить имя пользователя из SID в c ++?
  • 0Как сгенерировать исключение при несоответствии данных
  • 0Rightsidebar начинается с нижней части содержимого в div содержимого
  • 1Ошибка входа в GooglePlayServices для игры Unity
  • 0Ошибки PEAR в отдельном всплывающем окне
  • 0Symfony2 Необязательный параметр в маршрутизации не имеет значения
  • 0$ _SESSION не хранит значения
  • 1Как я могу преобразовать мой массив в 0 или 1 элемент?
  • 1Как управлять видимостью контекстной вкладки ленты WPF 4.5 с помощью доступности определенного элемента управления в представлении Prism (+ MEF) с использованием MVVM?
  • 1Фильтрация ботов и пауков для рекламной системы. Блокировка зашла слишком далеко
  • 0Как динамически генерируемые элементы
  • 0Доступ к формату пути, используемому для маршрутизации
  • 0угловой JS $ HTTP вернуть true или false
  • 0Как нажать на элемент, используя другой связанный элемент?
  • 1C # Создание чатов с несколькими клиент-серверными сокетами
  • 0Наличие логической проблемы с рекурсивными N-вложенными циклами for
  • 0JQUERY установить clearInterval через время
  • 1Кнопка Windows Forms: изображение или ImageList + ImageIndex?
  • 0Angularjs Многомерный массив и два относительных поля выбора
  • 0Можем ли мы использовать Qt (64) для создания приложения, которое будет работать как на 32-битных, так и на 64-битных окнах?
  • 0EM алгоритм, чтение и сохранение файла XML
  • 1удалить родительский узел с помощью JavaScript (новый подход)
  • 0Определение правил стиля для списка навигации (css)
  • 0Обновление разделов страницы после замены фильтра
  • 1Отключить визуальную студию 2013 Intellisence ссылки. Control + щелчок мышью
  • 0Выравнивание поля ввода и текстовые эффекты при выравнивании
  • 0NodeJS асинхронный вызов MySQL к пулу соединений не возвращает результата
  • 1Приложения от неизвестных разработчиков иногда могут быть небезопасными
  • 0Как создать и выполнить код в iframe в javascript
  • 1Изменить значение вставки jsGrid на основе элемента управления select на странице
  • 0MYSQL Сложный оператор выбора запроса
  • 0Qt: joinMulticastGroup для всего интерфейса
  • 1Python re.findall возвращает только первый символ
  • 1Медицинская визуализация (PyRadiomics) с файлами .nii.gz
  • 0PHP — получить строки из базы данных, где слово отсутствует в определенном тексте
  • 0Отрицательные биты не работают как ожидалось PHP
  • 1Всплывающее окно над экраном вызова в версии Android 7.0
  • 0Выберите возвращаемый пустой запрос

  • Ошибка 206 амд как исправить
  • Ошибка 206 genshin impact
  • Ошибка 206 amd radeon software
  • Ошибка 2054 мерседес w203
  • Ошибка 2052 при отправке смс теле2