На сетевом диске есть куча файлов на довольно глубоком пути, а каталоги большинства из них имеют длинные имена. Я думаю, что они изначально были созданы, когда кто-то скопировал и вставил корневой каталог для этой группы файлов со своей локальной рабочей станции на общий сетевой диск. Я предполагаю, что на локальной рабочей станции не было проблем с открытием файла, но теперь, когда они находятся на более длинном пути в сети, Windows не может открыть их, когда я дважды щелкаю. Я также пытался скопировать файлы и переименовать их в более короткие, но Windows также не может этого сделать.
TL; DR
файлы с чьей-то рабочей станции по (гипотетическому) пути, например:
C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^
теперь скопированы и вставлены в сеть следующим образом:
Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^
И путь теперь слишком длинный для Windows XP.
Любые советы о том, как я могу прочитать эти файлы?
источник
Ответы:
Попробуйте заменить путь с помощью SUBST.EXE. Он поставляется с Windows:
Что вы хотите сделать, это заменить одну из папок вниз по цепочке буквой диска:
Теперь папка LongSubdirectoryName1 доступна на диске X :. Когда вы закончите с этим вы можете удалить замену с помощью
subst X: /D
Если вам это нужно постоянно, добавьте его в свой скрипт входа в систему.
Другой подход заключается в том, чтобы отобразить диск дальше по цепочке, где бы ни отображался Q :.
источник
Вам нужно будет переименовывать имена каталогов в пути, пока имя не станет достаточно коротким для доступа ОС.
Я бы перешел к первой папке, имя которой вы можете изменить, и переименовал ее в одну букву, а затем делал бы то же самое для каждой последующей папки, пока не дойдете до нужного файла.
Относительно необходимости сохранения структуры: есть ограничения, с которыми мы должны работать в операционных системах, и не рекомендуется регулярно работать вне этих параметров. Любое быстрое решение сейчас будет только патчем, который нужно будет снова запустить в будущем. Истинное решение будет включать в себя реорганизацию структуры каталогов так, чтобы эта чрезвычайно длинная проблема пути к файлу / имени файла больше не требовалась.
источник
Префикс пути с
\\?\
. Обратите внимание, что это не работает со всеми приложениями.источник
РЕДАКТИРОВАТЬ: Первоначально я предложил использовать robocopy, но, конечно, это XP, и он не имеет предустановленной.
Вы не сможете «дать всем то, что они хотят». Если путь к файлу слишком длинный, вы не сможете выполнять с ним никаких операций с файлами. На мой взгляд, у вас есть несколько вариантов:
Следуйте инструкциям других сообщений и переименовывайте каталоги, пока они не станут короткими. Хорошая вещь о компьютерах заключается в том, что вы можете написать скрипт, который не только сделает это за вас, но и отследит, какими были первоначальные имена. Даже со сценарием это отнимает много времени.
Получить Linux LiveCD. Вставьте его в компьютер и загрузитесь с этого компакт-диска. Посмотрите диск Windows, который будет автоматически смонтирован как отдельная файловая система. Получите все нужные файлы и поместите их в новую папку на рабочем столе. Заархивируйте эту папку и поместите ее на внешний жесткий диск или USB-накопитель или, если ваш сетевой диск позволяет копировать обратно в файловую систему, переместите ее в каталог верхнего уровня.
источник