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

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

TL; DR

файлы с чьей-либо рабочей станции по (гипотетическому) пути, например:

C:Documents and SettingsSomeUserFilesRootOfLongFileNamesLongSubdirectoryName1...VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^

уже были скопированы и вставлены в Сеть такой:

Q:Dir1Dir2ProjectAFilesForSomethingSomeotherDirectoryBlahblahRootOfLongFileNamesLongSubdirectoryName1...VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^

и путь теперь слишком длинный для Windows XP.

любые советы о том, как я могу прочитать эти файлы?

27
задан FrustratedWithFormsDesigner
01.01.2023 11:30 Количество просмотров материала 3004
Распечатать страницу

4 ответа

попробуйте заменить путь с SUBST.ИСПОЛНЯЕМЫЙ. Он поставляется с Windows:

C:\Users\shufler>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

что вы хотите сделать, это заменить одну из папок вниз по цепочке букву диска:

 C:\>subst X: Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1

Теперь папка LongSubdirectoryName1 доступна на диске X:. Когда вы закончите с этим, вы можете удалить свою замену с помощью subst X: /D

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

другой подход к карте диска далее вниз по цепочке, где Q: отображается.

7
отвечен shufler 2023-01-02 19:18

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

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

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

6
отвечен music2myear 2023-01-02 21:35

префикс пути с \?\. Обратите внимание, что это не работает со всеми приложениями.

1
отвечен kinokijuf 2023-01-02 23:52

EDIT: Первоначально я предложил использовать robocopy, но, конечно, это XP, и у него нет предустановленной.

там нет никакого способа, вы сможете "дать всем, что они хотят", если filepath слишком долго, вы не сможете делать какие-либо файловые операции с ним. На мой взгляд, у вас есть несколько вариантов:

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

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

0
отвечен aqua 2023-01-03 02:09

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх