Длинные имена файлов в excel

 

БМВ

Модератор

Сообщений: 21380
Регистрация: 28.12.2016

Excel 2013, 2016

Цитата
ttt480 написал:
Как открыть этот файл все равно, не взирая на длинный путь ?

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

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

Что делать, если файл есть, а его не открыть а надо?
Самый правильнй, это сокращать наименование папок на верхних уровнях, встречал как в папках названия типа . «Заседаник комиссии … от дата по поводу решения …. о ….. ….» и внутрях файл «Решение …… » и ноль инфы. При чем именно папок и начинать надо с уровня высокого, иногда и до файла то не дойти не говоря уже о переименовать сам файл.

вариант 1 файлы лежат локально и хорошо структурированы и, как результат, путь длинный
1. иногда помогают имена в старом стиле 8.3  ( dir c ключом /x) покажет имена
2. можно на середину длинного пути с:123456789File.xls сделать «виртуальный диск» subst t: c:123456  и открыть файл T:789File.xls
после удаляем ненужное SUBST t: /D

вариант 2 файлы лежат на сети и хорошо структурированы и, как результат, путь длинный
1. иногда помогают имена в старом стиле 8.3  ( dir c ключом /x) покажет имена, но на хранилище должна быть включена поддержка имен 8.3. современные тенденции ведут к отключению этого по умолчанию
2. можно на середину длинного пути
2.1 обращение идет по сетевому имени \servershare123456789File.xls .  Делаем снова «виртуальный» диск мапируя net use t: \servershare123456 открыть файл T:789File.xls
2.2 сетевой диск замапирован Z:123456789File.xls .Если админы не постарались и не закрыли видимость корня, то или в эксплорере или через командную строку net use узнаем путь \servershare соотвтевенно, это означает что файлы лежат на \servershare123456789File.xls . далее как пунктом выше

после удаляем ненужное net use t: /D

Ну и варианты связанные с переносом в другое место , где путь короче.
1. сработает перенос на несколько уровней папок выше , тем самым сократится путь, но это сработает только при переносе и в пределах одного диска. Ну и в случае с сетевыми дисками надо не забывать о наследовании прав доступа которые могут быть нарушены при переносе.
2. утилиты подобные ROBCOPY обходят ограничение системы и могут скопировать или перенести что угодно и куда угодно ( при этом с учетом прав доступа)
3. Как не парадоксально, но архиваторы тоже умеют работать с длиннющими путями и можно забэкапить часть ветки а потом раскрыть её уже в другом месте.

По вопросам из тем форума, личку не читаю.

  • Remove From My Forums
  • Вопрос

  • Привет!

    Есть такой путь http://10.х.х.х/TestFolder/LongNameFL/ в нем 2 папки: LongNameFL и ДЛФЛКАТАЛО. В этих каталогах лежит пару файлов (различающихся длиной имени), сделанные из этого — Long_FL_DC012345678901234567890123456789001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900123456789012345678901234567_8901234567890123456789012345678901234567.xlsx

    длина имени файла 207 символов.  Из английского каталога файл открывается нормально, из русского каталога  имя файла нужно обрезать до 166 символов (в имени в этом месте стоит _). 2007 офис не имеет проблем с открытием этих фалов. Система Windows
    7.

    Это баг, фича или ? И какое отношение имеет это к языку каталога?

Ответы

    • Предложено в качестве ответа

      12 января 2011 г. 16:43

    • Помечено в качестве ответа
      maxx-ode
      12 января 2011 г. 17:43
  • Отношение это имеет в основном к кодовой таблице языка. Смысл в том, что у латиницы кодировка использует 7 бит, а у кириллицы — 8. Вот из-за этого и возникает различие. Судя по всему, у вас срабатывает ограничение на длину имени — к сожалению мне никогда
    не приходилось создавать файлы с настолько огромными именами (это банально неудобно), но рискну предположить. что это все-таки фича.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий
    Follow MSTechnetForum on Twitter

    Посетите Блог Инженеров Доклады на Techdays:
    http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    • Помечено в качестве ответа
      Daniil KhabarovModerator
      27 октября 2010 г. 6:45

xuor007

0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

1

Excel

27.03.2021, 16:12. Показов 4821. Ответов 27

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Доброго времени суток! Некоторое время назад столкнулся с проблемой, что в таблицах Excel невозможно редактировать файлы путь и имя которых превышает 255 символов.
Прочитал на сторонних формах о «костыле» — создании виртуального диска, для сокращения пути к файлу.
Хочу это автоматизировать.
К сожалению, мои изыскания не

привили

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

Попытка 1:
ЛКМ загружается до открытия нужного файла, но к сожалению в коллекции Workbook только файл «PERSONAL.XLSB».
Файла, который должен открыться после загрузки ЛКМ в этой коллекции нет.

Visual Basic
1
2
3
4
5
6
7
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
 
   For Each w In Application.Workbooks
       MsgBox (w.FullName)
   Next w
 
End Sub

Попытка 2:
Получив hwnd окна по WMI добраться до названия файла. К сожалению, также не нашёл

Попытка 3:
Возможно где-то в переменной среде Excel есть эта информация. Но функция Environ() такой информации не дала.

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

Жду ответов и заранее благодарю за любую помощь



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

27.03.2021, 16:12

Ответы с готовыми решениями:

Длинные имена файлов в Excel
Доброго времени суток! Некоторое время назад столкнулся с проблемой, что в таблицах Excel…

Длинные имена файлов
вот например есть файл с длинным именем ~150 знаков если попробовать скопировать его в другую папку…

Длинные имена файлов
Здравствуйте. Подскажите, можно ли решить проблему. Решил систематизировать все файлы на рабочем…

Длинные имена исходных файлов
Доброго времени суток.
Опишу суть проблемы: поймал в систему какую-то гадость. Перед тем, как…

27

Модератор

Эксперт функциональных языков программированияЭксперт Python

34707 / 19228 / 4039

Регистрация: 12.02.2012

Сообщений: 32,187

Записей в блоге: 13

28.03.2021, 07:45

2

Вопрос совершенно непонятен: строку длиной более 255 символов нельзя корректировать в ячейке? Можно. Размер строки (даже в старом офисе) может достигать тысяч символов… Приведите пример того, что не получается. И что такое ЛКМ?



0



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 13:40

 [ТС]

3

Catstail, видимо Вы невнимательно прочитали тему и само сообщение. Проблема в том, что при попытки сохранить или отредактировать файл, путь и имя которого превышает 255 символов, программа Excel сообщает об ошибке(фото во вложении).

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

P.s. Благодарю за исправление орфографической ошибки

Миниатюры

Длинные имена файлов в Excel
 



0



811 / 465 / 181

Регистрация: 09.03.2009

Сообщений: 1,577

28.03.2021, 13:49

4

https://qastack.ru/superuser/1… can-handle говорит:

«Классический» предел 260 символов: drive letter+ :+ 255 characters of filename+ (или для округления) + , null terminatorкак сказано в других ответах

Однако реальный внутренний предел 32767 символов , которые могут быть достигнуты путем добавления , \?чтобы получить полный путь

Windows API имеет много функций, которые также имеют версии Unicode, чтобы разрешить путь расширенной длины для максимальной общей длины пути 32 767 символов. Этот тип пути состоит из компонентов, разделенных обратной косой чертой, каждая из которых соответствует значению, возвращенному в lpMaximumComponentLengthпараметре GetVolumeInformationфункции (обычно это значение составляет 255 символов). Чтобы указать путь расширенной длины, используйте «\?»префикс. Например, «\?D:very long path».

Если по каким-либо причинам полные пути не могут быть использованы, то к более глубоким каталогам можно обратиться, подключив их к букве диска с помощью subst/ diskpartили создав соединение / символическую ссылку для сокращения пути

Начиная с Windows 10, MAX_PATHограничение также было удалено, хотя не по умолчанию

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



1



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 14:42

 [ТС]

5

Zeag, благодарю за дополнение.

Согласно комментариям к этой статье разные версии ОС Windows имеют разное ограничение MAX_PATH. Хотелось бы написать кроссплатформенную утилиту. Правильно ли я понял, что максимальный путь и имя файла в ОС Windows XP SP3 составляет 250 символов?

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



0



Zeag

811 / 465 / 181

Регистрация: 09.03.2009

Сообщений: 1,577

28.03.2021, 14:54

6

Кроссплатформенную вряд ли, на MacOS все будет иначе. )) Вероятно, вы имели в виду — под все версии Windows? Попробуйте указывать перед файлом «\?»префикс. Например, «\?D:very long path».

У меня этот вариант (7/64, офис 2007) не прошел, но выкрутился так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub xtest()
   Dim sFN As String, FP As Workbook
   sFN = "C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375837gsre48t784iefjvci4eut834fcvmweit7348u3fidnjed8eryf459t8mi86439sd7435u7s34iu8we6rt43n43u3487r34765s834trh34uf8wr7f34r34u77677634th8y743734hr743ytr74365634th345Стрекоза_7_862_от_31_12_2020_Март_2021.xlsx"
' когда задал так, не прошло ни напрямую, ни с \?
 
' тогда сделал (здесь вручную, но можно автоматизировать): разбил путь на часть, не превышающую 256 знаков,
' и ее посадил на subst (разумеется, нужно найти свободную букву, можно через FSO или еще как), а хвост оставил в имени файла
   Shell "subst Q: C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375837gsre48t784iefjvci4eut834fcvmweit7348u3fidnjed8eryf459t8mi86439sd7435u7s34iu8we6rt43n43u3487r34765s834trh34uf8wr7f34r34u776776"
   Set FP = Application.Workbooks.Open(Filename:="Q:34th8y743734hr743ytr74365634th345Стрекоза_7_862_от_31_12_2020_Март_2021.xlsx", Local:=True)
   MsgBox Cells(7, 1)  ' работает!
   Shell "subst Q: /D"
   FP.Close False
   Set FP = Nothing
End Sub



0



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 15:00

 [ТС]

7

Zeag,

Кроссплатформенную вряд ли, на MacOS все будет иначе. ))

Да, прошу прощения, имел ввиду под действующие версии OC Windows)

У меня этот вариант (7/64, офис 2007) не прошел, но выкрутился так

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



0



811 / 465 / 181

Регистрация: 09.03.2009

Сообщений: 1,577

28.03.2021, 15:10

8

А имена вам кто дает? Dir, FSO? Можно анализировать путь и если он больше 250, то применять такую подстановку. Или они столь длинные пути не отдают?
Вот я сделал dir /s из ком.строки:

Код

 Содержимое папки C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375837gsre48t784iefjvci4eut834fcvm
weit7348u3fidnjed8eryf459t8mi86439sd7435u7s34iu8we6rt43n43u3487r34765s834trh34uf8wr7f34r34u776776

28.03.2021  15:08    <DIR>          .
28.03.2021  15:08    <DIR>          ..
28.03.2021  15:08    <DIR>          34th8y743734hr743ytr74365634th345
               0 файлов              0 байт
Имя папки C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375837gsre48t784iefjvci4eut834fcvmweit7348
u3fidnjed8eryf459t8mi86439sd7435u7s34iu8we6rt43n43u3487r34765s834trh34uf8wr7f34r34u77677634th8y743734hr743ytr74365634th345 слишком длинно.

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



0



xuor007

0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 15:21

 [ТС]

9

Zeag,

А имена вам кто дает? Dir, FSO?

Не понял вопроса. Я пытаюсь открыть для редактирования файл Excel, путь которого, включая имя файла, превышает 260 символов и появляется сообщение об ошибке.
Единственный способ, который у меня сработал, это прописать код в процедуру ЛКМ:

Visual Basic
1
2
3
4
5
6
7
Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
 
   For Each w In Application.Workbooks
       MsgBox (w.FullName)
   Next w
 
End Sub

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

Мне известно, что возможно сократить путь к открываемому файлу созданием виртуального диска:
— утилитой subst, для локальных файлов
— утилитой net use, для файлов, которые нужно использовать по сети

Но для этих манипуляций необходимо сначала:
1. Получить имя пути и файла, до его загрузки
2. Проверить длину полного пути(если путь короче 260 символов, то открыть файл; если путь длинее приступить к сокращению)
3. Если путь длинее, закрыть файл; Подключить виртуальный диск; Открыть файл по новому пути
4. После закрытия файла отключить виртуальный диск.

У меня возникли сложности с первым пунктом(



0



Модератор

Эксперт функциональных языков программированияЭксперт Python

34707 / 19228 / 4039

Регистрация: 12.02.2012

Сообщений: 32,187

Записей в блоге: 13

28.03.2021, 15:24

10

Цитата
Сообщение от xuor007
Посмотреть сообщение

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

— как это еще можно понять? «В таблицах»… Таблицы состоят из ячеек.

Да, есть удобная штука, называется subst. Позволяет повесть директорию на свободную букву диска.

Возникает вопрос: зачем нужны такие длинные имена?



0



xuor007

0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 15:25

 [ТС]

11

Catstail,

— как это еще можно понять? «В таблицах»… Таблицы состоят из ячеек.

Прошу прощения, видимо я не ясно выразился

Visual Basic
1
Возникает вопрос: зачем нужны такие длинные имена?

Производственная необходимость



0



Модератор

Эксперт функциональных языков программированияЭксперт Python

34707 / 19228 / 4039

Регистрация: 12.02.2012

Сообщений: 32,187

Записей в блоге: 13

28.03.2021, 15:28

12

Цитата
Сообщение от xuor007
Посмотреть сообщение

У меня возникли сложности с первым пунктом

— и откуда вы хотите его получить? Имя файла первично. Если вы хотите открыть файл по имени, то имя нужно знать. Разве не так?

Добавлено через 1 минуту
Обычно файлы для открытия получают сканированием директорий…



0



811 / 465 / 181

Регистрация: 09.03.2009

Сообщений: 1,577

28.03.2021, 15:28

13

xuor007, откуда и в какой момент возникает имя файла? Так понял, у вас есть какой-то макрос, который обрабатывает каталоги. Где он берет имена? Они в таблице на листе или получаются перебором какого-то каталога?

Catstail, чую, дело касается обработки файлов на сетевом ресурсе.



1



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 15:32

 [ТС]

14

Catstail,
Открывая файл, возможно, делаются какие-то записи открываемого файла:
1. в переменную среду Excel;
2. в реестр;
3. в hnwd окна Excel;
4. возможно куда-то ещё.
Мне это не известно, затем и обратился к помощи форумчан.

В данный момент пишу программу-посредник, которая будет запускаться при открытии файлов xls, но мне не нравится это решение



0



Catstail

Модератор

Эксперт функциональных языков программированияЭксперт Python

34707 / 19228 / 4039

Регистрация: 12.02.2012

Сообщений: 32,187

Записей в блоге: 13

28.03.2021, 15:36

15

Цитата
Сообщение от xuor007
Посмотреть сообщение

Открывая файл, возможно, делаются какие-то записи открываемого файла:

ох… — ничего такого не делается. Я повторяю вопрос: откуда берется имя файла, который вы хотите открыть? Непонятно?

Visual Basic
1
        Set wb = Workbooks.Open(Имя_файла) ' откуда у вас берется это имя?

Добавлено через 59 секунд

Цитата
Сообщение от xuor007
Посмотреть сообщение

в hnwd окна Excel;

— это сильно!



0



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 15:47

 [ТС]

16

Zeag,

чую, дело касается обработки файлов на сетевом ресурсе

файл находиться локально

откуда и в какой момент возникает имя файла? Так понял, у вас есть какой-то макрос, который обрабатывает каталоги. Где он берет имена? Они в таблице на листе или получаются перебором какого-то каталога?

Макроса, в данный момент, нет, хотелось бы его написать) Файл создается не с помощью Excel, он создается средствами ОС Windows 10 путем копирования из другого каталога. Сама OC Windows 10 не выдает ошибку при копировании и создании этих файлов. Ошибка возникает, только при их открытии

Добавлено через 2 минуты
Catstail,

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

Добавлено через 7 минут
Catstail,

ох… — ничего такого не делается. Я повторяю вопрос: откуда берется имя файла, который вы хотите открыть? Непонятно?

Постараюсь описать процесс создания файла максимально доступно:
1. В проводнике я открываю директорию C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7 rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375 837gsre48t784iefjvci4eut834fcvm
weit7348u3fidnjed8eryf459t8mi86439sd7435u7s34iu8 we6rt43n43u3487r34765
2. Копирую файл, находящийся там(s834trh34uf8wr7f34r34u776776.xlsx), в буфер обмена
3. Создаю директорию C:testsdfksdjfkzxklksdjfkdgifueru8trveruhg7rtyg7 rthgt7rhg7nsdjf38rewsmc3485438wokdow3853fiwj38375 837gsre48t784iefjvci4eut834fcvm
weit7348u3fidnjed8eryf459t8mi86439sd7435u7s34iu8 we6rt43n43u3487r347652
4. Вставляю файл в созданную мною директорию.

Повторюсь, мне крайне важно сохранить структуру папок, поэтому их имена, как и имена файлов, я не могу сократить



0



малоболт

1143 / 442 / 193

Регистрация: 30.01.2020

Сообщений: 1,095

28.03.2021, 16:03

17

Цитата
Сообщение от xuor007
Посмотреть сообщение

Ошибка возникает, только при их открытии

Ошибка не связана с Excel. Сделайте .txt файлы такого же длинного наименования и попытайтесь открыть. Так что задача не пытаться что-то изобразить на VBA, а сделать так, чтобы при открытии файлов, до того, как по расширению будет распознано, что его надо открывать Excel’ем, или чем-то другим — перед именем подставлялся префикс

Цитата
Сообщение от Zeag
Посмотреть сообщение

\?



0



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 16:08

 [ТС]

18

Punkt5,

Ошибка не связана с Excel. Сделайте .txt файлы такого же длинного наименования и попытайтесь открыть

Вы не правы. Переименовал расширение файла на .txt, блокнот открыл без проблем
Попробовал переименовать расширение на .doc, Word, также, открыл без проблем



0



Punkt5

малоболт

1143 / 442 / 193

Регистрация: 30.01.2020

Сообщений: 1,095

28.03.2021, 16:12

19

Если у вас такая фигня только с файлами Excel, можно попробовать сделать bat-файл типа:

Windows Batch file
1
cmd /C "START "" /I "C:Program FilesMicrosoft OfficeOFFICE11excel.exe" \?%1"

где вместо C:Program FilesMicrosoft OfficeOFFICE11excel.exe укажите полный путь к вашему excel.exe.
И переназначьте открывание всех файлов с расширениями .xls* на этот батник.
Ну, или какой-нибудь аналогичный скрипт на .vbs, .js, PowerShell, autoit. Как понимаю, правка реестра не рассматривается, поскольку хочется распространяемого решения.



0



0 / 0 / 0

Регистрация: 21.03.2017

Сообщений: 35

28.03.2021, 16:14

 [ТС]

20

Punkt5,

Если у вас такая фигня только с файлами Excel, можно попробовать сделать bat-файл типа

В данный момент пишу программу-посредник, которая будет запускаться при открытии файлов xls, но мне не нравится это решение



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

28.03.2021, 16:14

Помогаю со студенческими работами здесь

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

Скрипт html в pdf не принимает длинные имена файлов
Выдает ошибку WinError206, если длина файла большая, помогите исправить.

import pdfkit
import…

Укоротить длинные имена до размера K символов, а те имена, которые короче K символов дополнить восклицательными знаками
Дан список из N имён. Необходимо укоротить длинные имена до размера K символов, а те имена, которые…

Длинные имена
Добрый вечер!
Понадобилось перейти на 12.04 с 13.04, но я в шоке, что файлы с home каталога не…

Длинные имена таблиц в SQL запросах
Каким образом использовать длинные имена таблиц в SQL запросах состоящие из нескольких слов и…

Создать файл, содержащий имена всех файлов системы, созданных в текущем месяце, имена пользователей, их создавших
Через командную строку необходимо:
Создать файл, содержащий имена всех файлов системы, созданных в…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

20

Содержание

  1. Сообщение об ошибке при открытии файла Office с длинным именем папки
  2. Симптомы
  3. Причина
  4. Обходной путь
  5. Дополнительная информация
  6. Слишком длинное имя файла или слишком длинный целевой путь — как исправить?
  7. Причины ошибки «Слишком длинное имя файла» и «Слишком длинный целевой путь» и способы её исправить
  8. Как включить поддержку длинных путей в Windows 10 и Windows 11
  9. В редакторе реестра
  10. В редакторе локальной групповой политики
  11. Почему ошибки длинных путей появляются, несмотря на включенную поддержку длинных путей
  12. Windows: убрать ограничение на имя файлов
  13. Почему длина имени файла является проблемой в Windows?
  14. Настройка Windows 10 на обработку длинных путей к файлам
  15. Параметры для Windows 10 Home
  16. Параметры для Windows 10 Pro или Enterprise
  17. Как временно исправить проблему с файлами?
  18. Легкое Исправление
  19. Менее простые исправления

Сообщение об ошибке при открытии файла Office с длинным именем папки

Сведения о версии Microsoft Office 2000 в этой статье см. в 325573.

Симптомы

При открытии определенных файлов в Microsoft Office Excel 2007 вы получаете следующее сообщение об ошибке, если файлы находятся в папках с длинными именами:

При открытии определенных файлов, которые находятся в папках с длинными именами папок в Microsoft Word 2002, Microsoft PowerPoint 2002, Microsoft Access 2002, Microsoft Excel 2002 и Microsoft Outlook 2002, вы получаете одно из следующих сообщений об ошибке:

Недопустимое имя файла.

Невозможно получить доступ к файлу.

Введенный путь слишком длинный. Введите более короткий путь.

Не удалось найти имя файла. Проверьте правильность написания имени файла и убедитесь в правильности его расположения.

Причина

Это происходит из-за того, что наборы Office 2007, Microsoft Office 2003 и Microsoft Office XP имеют ограничение в 256 символов для имен папок.

Обходной путь

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

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

Дополнительная информация

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

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

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

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

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

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

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

Источник

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

При копировании, создании, сохранении или перемещении файлов и папок в Windows 11 и Windows 10 на внутреннем HDD или SSD, при копировании данных на внешний диск или флешку, вы можете столкнуться с ошибками вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку», «Указано неправильное или слишком длинное имя файла» и другие, имеющие отношение к слишком длинным именам или путям к файлам и папкам.

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

  • Слишком длинное имя файла или слишком длинный целевой путь
    • Причины ошибки и способы её исправить
    • Как включить поддержку длинных путей в Windows
      • В редакторе реестра
      • В редакторе локальной групповой политики
    • Почему ошибка сохраняется при включенной поддержке длинных путей

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

Несмотря на то, что файловой системой NTFS длина пути ограничена 32760 символов, в Windows существует ограничение на полный путь в 260 символов, включая путь к папке и имя файла с расширением. Ещё одно ограничение — 255 символов на имя файла или отдельной папки. Схожие ограничения есть для файловых систем FAT32 и ExFAT. Когда полный путь к файлу, с которым вы выполняете действия, превышает указанное число символов, вы можете получить сообщение об ошибках о слишком длинном целевом пути или слишком длинном имени файла.

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

  1. Использовать более короткие имена файлов и более простое и «компактное» дерево папок.
  2. Включить поддержку длинных путей — такая опция есть в Windows 10 и Windows 11, далее будет рассмотрен порядок действий. Однако, это решит не все проблемы, о чем мы также поговорим.
  3. Использовать файловые менеджеры, которые могут работать с длинными путями по умолчанию: Total Commander, Files (но для него потребуется включить и поддержку длинных путей в системе) или даже 7-Zip File Manager, который прекрасно с этим справляется.

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

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

В редакторе реестра

Если на вашем компьютере установлена Windows 11 или Windows 10 Домашняя, используйте редактор реестра для включения опции:

  1. Нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить» или нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
  2. В редакторе реестра перейдите к разделу
  3. В правой панели редактора реестра дважды нажмите по параметру с именем LongPathsEnabled и присвойте значение 1 вместо 0 для этого параметра.
  4. Закройте редактор реестра, перезагрузите компьютер.

В редакторе локальной групповой политики

В Windows Pro и Enterprise можно использовать редактор локальной групповой политики:

  1. Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc в диалоговом окне «Выполнить» и нажмите Enter.
  2. Перейдите к разделу Конфигурация компьютера — Административные шаблоны — Система — Файловая система.
  3. Дважды нажмите по параметру «Включить длинные пути Win32».
  4. Установите значение «Включено» для этого параметра, примените настройки.
  5. Закройте редактор локальной групповой политики и перезагрузите компьютер.

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

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

Даже если вы включите поддержку длинных путей к папкам и файлам в Windows 11/10, при действиях с такими файлами в проводнике и некоторых программах вы продолжите получать ошибки вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку» или «Указано неправильное или слишком длинное имя файла», также будут недоступны некоторые действия в папках, имеющих длинный путь.

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

  • Проводник не сможет полноценно работать с длинными путями даже при включенной поддержке.
  • Файловый менеджер Files из магазина приложений будет исправно работать, если включить поддержку длинных путей, и будет сообщать об ошибках при отключенной поддержке.
  • Total Commander или встроенный файловый менеджер 7-Zip работают с длинными путями независимо от того, включена ли их поддержка в Windows.

То же самое касается не только файловых менеджеров, но и прикладных программ: текстовых, графических и видео редакторов и другого ПО.

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

Источник

Windows: убрать ограничение на имя файлов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этот путь к файлу составляет 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 скопировать все элементы внутри к месту назначения. Копирование оставляет оригиналы там, где они есть, и делает все новые в месте назначения.

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

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

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

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

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

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

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

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

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

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

Вот и все

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

Источник

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

Как исправить ошибки слишком длинное имя файла или слишком длинный целевой путьПри копировании, создании, сохранении или перемещении файлов и папок в Windows 11 и Windows 10 на внутреннем HDD или SSD, при копировании данных на внешний диск или флешку, вы можете столкнуться с ошибками вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку», «Указано неправильное или слишком длинное имя файла» и другие, имеющие отношение к слишком длинным именам или путям к файлам и папкам.

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

  • Слишком длинное имя файла или слишком длинный целевой путь
    • Причины ошибки и способы её исправить
    • Как включить поддержку длинных путей в Windows
      • В редакторе реестра
      • В редакторе локальной групповой политики
    • Почему ошибка сохраняется при включенной поддержке длинных путей

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

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

Несмотря на то, что файловой системой NTFS длина пути ограничена 32760 символов, в Windows существует ограничение на полный путь в 260 символов, включая путь к папке и имя файла с расширением. Ещё одно ограничение — 255 символов на имя файла или отдельной папки. Схожие ограничения есть для файловых систем FAT32 и ExFAT. Когда полный путь к файлу, с которым вы выполняете действия, превышает указанное число символов, вы можете получить сообщение об ошибках о слишком длинном целевом пути или слишком длинном имени файла.

Ошибка Слишком длинное имя файла в Windows

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

  1. Использовать более короткие имена файлов и более простое и «компактное» дерево папок.
  2. Включить поддержку длинных путей — такая опция есть в Windows 10 и Windows 11, далее будет рассмотрен порядок действий. Однако, это решит не все проблемы, о чем мы также поговорим.
  3. Использовать файловые менеджеры, которые могут работать с длинными путями по умолчанию: Total Commander, Files (но для него потребуется включить и поддержку длинных путей в системе) или даже 7-Zip File Manager, который прекрасно с этим справляется.

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

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

В редакторе реестра

Если на вашем компьютере установлена Windows 11 или Windows 10 Домашняя, используйте редактор реестра для включения опции:

  1. Нажмите правой кнопкой мыши по кнопке «Пуск» и выберите пункт «Выполнить» или нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter.
  2. В редакторе реестра перейдите к разделу
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
  3. В правой панели редактора реестра дважды нажмите по параметру с именем LongPathsEnabled и присвойте значение 1 вместо 0 для этого параметра. Включить поддержку длинных путей в редакторе реестра Windows
  4. Закройте редактор реестра, перезагрузите компьютер.

В редакторе локальной групповой политики

В Windows Pro и Enterprise можно использовать редактор локальной групповой политики:

  1. Нажмите клавиши Win+R на клавиатуре, введите gpedit.msc в диалоговом окне «Выполнить» и нажмите Enter.
  2. Перейдите к разделу Конфигурация компьютера — Административные шаблоны — Система — Файловая система.
  3. Дважды нажмите по параметру «Включить длинные пути Win32». Политики файловой системы в gpedit
  4. Установите значение «Включено» для этого параметра, примените настройки. Включить поддержку длинных путей в редакторе локальной групповой политики
  5. Закройте редактор локальной групповой политики и перезагрузите компьютер.

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

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

Имена файлов слишком длинны для помещения в эту папку

Даже если вы включите поддержку длинных путей к папкам и файлам в Windows 11/10, при действиях с такими файлами в проводнике и некоторых программах вы продолжите получать ошибки вида «Слишком длинный целевой путь. Имена файлов слишком длинны для помещения в эту целевую папку» или «Указано неправильное или слишком длинное имя файла», также будут недоступны некоторые действия в папках, имеющих длинный путь.

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

  • Проводник не сможет полноценно работать с длинными путями даже при включенной поддержке.
  • Файловый менеджер Files из магазина приложений будет исправно работать, если включить поддержку длинных путей, и будет сообщать об ошибках при отключенной поддержке. Работа с длинными путями в файловом менеджере Files
  • Total Commander или встроенный файловый менеджер 7-Zip работают с длинными путями независимо от того, включена ли их поддержка в Windows.

То же самое касается не только файловых менеджеров, но и прикладных программ: текстовых, графических и видео редакторов и другого ПО.

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

Понравилась статья? Поделить с друзьями:
  • Длинные выпадающие списки excel
  • Длинное число в excel меняется
  • Длинное тире в word текст
  • Длинное имя файла excel
  • Длинное имя документа word