47

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

5 ответов5

60
robocopy /E source destination

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

Windows 7 и выше:
Robocopy XP027 - это стандартная команда для Windows 7 и выше.

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

Windows 95 или NT 3.5:
Robocopy не работает на Windows 95 или NT 3.5. (Robocopy - это приложение Unicode).

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

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

27

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

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

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

15

Вы можете получить доступ к длинам пути до ~ 32 тыс. Символов, используя префикс \\?\ .

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

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

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

2

FastCopy - это проект C с открытым исходным кодом, написанный SHIROUZU Hiroaki и являющийся «Самым быстрым программным обеспечением для копирования / удаления в Windows». Он поддерживает UNICODE и более MAX_PATH (260 символов) имен файлов.

Если у вас есть сотни путей, которые слишком длинны для исправления, используйте инструмент « Path Tool Long Auto Fixer »

-3

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .