2010-11-30 13:44:57 +0000 2010-11-30 13:44:57 +0000
53
53

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

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

Ответы (5)

67
67
67
2012-01-28 07:34:54 +0000
robocopy /E source destination

Надежное копирование файлов и папок .

Вindows 7 и выше (включая Windows 10): Robocopy XP027 является стандартной командой в Windows 7 и выше.

Версии Windows > 7 могут иметь другие версии Robocopy, , поскольку Robocopy все еще поддерживается.
Прочтите ссылку выше для получения более подробной информации об ограничениях в конкретных версиях Robocopy.

NT 4/ Windows 2000: Средства Windows Server 2003 Resource Kits включают Robocopy XP010, , который можно запустить на NT 4/ Windows 2000.

Windows 95, или NT 3.5: Robocopy не запускается на Windows 95, или NT 3.5. (Robocopy - это приложение в стандарте Unicode).

Окна 95 или NT 3.5 обходной путь: Графический интерфейс Microsoft Robocopy установит Robocopy XP026 на C:\Windows\system32, эта версия может работать на более старых ОС, и включает в себя некоторые функции из XP027 (/BYTES), но имеет конкурирующую обработку ошибок с нарушением уровня.

Robocopy ‘Jobs’ и опция ‘Monitor source’ предоставляют альтернативу настройке Scheduled Task для запуска пакетного файла с помощью команды Robocopy.

27
27
27
2010-11-30 14:08:19 +0000

Максимальная длина пути - 260 в Windows Vista/7. Я могу порекомендовать три решения:

  • (если путь слишком длинный) Сначала скопируйте папку на верхние уровни в проводнике Windows, а затем переместите ее на локальный компьютер
  • (если имена файлов слишком длинные) Сначала попробуйте zip/rar/7z их с помощью архивного приложения, а затем скопируйте архивный файл на локальный компьютер и затем распакуйте содержимое.
  • Используйте сторонние приложения.

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

18
18
18
2014-05-30 09:53:40 +0000

Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью `\?Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью .

\?\C:\Some\Really\Long\Path

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

Документация )

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

Обратите внимание, что некоторые приложения и многие родные утилиты (например, Explorer) будут иметь проблемы с этими путями, поэтому используйте это, чтобы выбраться из дыры, а не в дыру.

Вы также можете использовать вариант \?\UNCВы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью\?Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью .

\?\C:\Some\Really\Long\Path

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

Документация )

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

Обратите внимание, что некоторые приложения и многие родные утилиты (например, Explorer) будут иметь проблемы с этими путями, поэтому используйте это, чтобы выбраться из дыры, а не в дыру.

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

\?\UNC\server_name\share_name\...

¹ Для тех, кто интересуется, это is 32,767, а не 32,768, так как это [ нуль-терминированная строка ]&003, но \?Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью\?Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью .

\?\C:\Some\Really\Long\Path

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

[ Документация ]&003)

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

Обратите внимание, что некоторые приложения и многие родные утилиты (например, Explorer) будут иметь проблемы с этими путями, поэтому используйте это, чтобы выбраться из дыры, а не в дыру.

Вы также можете использовать вариант \?\UNCВы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью\?Вы можете получить доступ к длинам путей до ~32,767¹ символов путем их префиксации с помощью .

\?\C:\Some\Really\Long\Path

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

[ Документация ]&003)

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

Обратите внимание, что некоторые приложения и многие родные утилиты (например, Explorer) будут иметь проблемы с этими путями, поэтому используйте это, чтобы выбраться из дыры, а не в дыру.

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

\?\UNC\server_name\share_name\...

¹ Для тех, кто интересуется, это is 32,767, а не 32,768, так как это [ нуль-терминированная строка ]&003, но может быть расширена, потребляя некоторые символы, так что не полагайтесь на точность подсчета.

3
3
3
2017-05-16 23:30:52 +0000

FastCopy - это проект с открытым исходным кодом на C, написанный Шираузу Хироаки, и это “Самое быстрое копирование/удаление программного обеспечения на Windows”. Он поддерживает UNICODE и более MAX_PATH (260 символов) имена путей к файлам.

Если у вас сотни путей, которые слишком длинные, чтобы исправить, используйте Path Tool Long Auto Fixer “ Инструмент [ Path Tool Long Auto Fixer ]&003”.

-3
-3
-3
2015-10-12 10:16:07 +0000

Самым быстрым исправлением, которое я использовал в этой ситуации, было переименование чрезмерно длинных папок с именами в нечто вроде “1”.

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

Любой приличный файловый менеджер может обрабатывать более 260 имен файлов с именами персонажей.

Похожие вопросы

3
19
10
28
4