Як скопіювати файли, які мають занадто довгий шлях файлу в Windows?


51

Мені потрібно зробити резервне копіювання деяких файлів у мережі. Однак мені потрібно скопіювати ці файли на мій локальний диск, перш ніж записувати диски, оскільки ці файли можуть використовуватися. Деякі файли не копіюються, оскільки шлях файлу занадто довгий. Чи є якесь вирішення, крім зміни структури файлу?


Відповіді:


27

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

  • (якщо шлях занадто довгий) Спочатку скопіюйте папку на верхні рівні в Windows Explorer, а потім перемістіть її на свій локальний комп'ютер
  • (якщо імена файлів занадто довгі) Спочатку спробуйте скопіювати / zr / rar / 7z їх за допомогою програми архіву, а потім скопіюйте файл архіву на свій локальний комп'ютер, а потім витягніть вміст.
  • Використовуйте додатки сторонніх розробників.

Усі ці пропозиції припускають, що ви маєте певний доступ до запису в загальнодоступній папці / комп'ютері. Якщо ви не можете зробити щось із цього, вам може знадобитися допомога адміністратора.


8
блискавки файлів працювали!
Брайан Штурм

@BrianSturm, Ну якщо припустити, що вони є сторонніми програмами
Pacerier

Хоча я справді ненавиджу це щодо Windows ... поштове рішення дійсно врятувало мені день. Дякую!
Bas Slagter

66
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:
Робокопія не працює на Windows 95 або NT 3.5. (Робокопія - додаток Unicode).


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

Robocopy 'Робота' та параметр 'Джерело монітора' надають альтернативу для створення запланованої задачі для запуску пакетного файлу за допомогою команди Robocopy.


6
Це рішення. Якщо ви хочете вимкнути підтримку шляхів довжиною більше 256, введіть /256прапор. Дуже дякую! Я цілий день боровся з цим.
Automatico

1
дивовижний! Рішення Я ніколи не знаю до цього рішення.
SIslam

2
Прекрасне рішення - ще кілька додаткових приміток: (1) пункт призначення повинен містити ім'я папки, якщо копіювати папку - наприклад, якщо копіювати C: \ Windows в D: \ Windows команда була б robocopy /E C:\Windows D:\Windows(тобто не роботокопія / EC: \ Windows D: \ ). (2) Можна переміщувати файли, а не копіювати їх за допомогою /MOVEпараметра.
Стів Чемберс

У Windows це надійне рішення для використання NAS. Ви можете запустити копію мільйонів файлів, і якщо передача буде перервана на півдорозі, вона підбере там, де вона припинилася, не повторно копіюючи всі файли, які вже були передані. Це дійсно цінно, коли у вас є з'єднання Wi-Fi, яке переривається періодично, і все ще хочете мати можливість переміщати велику кількість файлів із гарантованим завершенням.
користувач19496

Це не працює для файлів, які мають недійсні імена у Windows. Чи є для цього прапор, який допоможе?
Річард

16

Ви можете отримати доступ до довжини шляху до ~ 32 К символів, встановивши префікс \\?\.

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

Це працює з командного рядка та будь-яких інших програм, які використовують методи Win32 Unicode Api, включаючи додатки .Net. Для цього потрібна файлова система, яка підтримує довгі шляхи (наприклад, NTFS), але якщо у вас є проблема з довгими шляхами, це задано.

Зауважте, що певні програми та багато нативних інструментів (наприклад, Explorer) матимуть проблеми з цими шляхами, тому використовуйте це, щоб вийти з ями, а не в одну.


2
Це дійсно чудова порада. Я також працюю, щоб обійти обробку файлів com1, com2 тощо.
Андреас Райф

2

FastCopy - це проект з відкритим кодом C, написаний SHIROUZU Hiroaki, і це "Найшвидше копіювання / видалення програмного забезпечення в Windows". Він підтримує UNICODE і більше MAX_PATH (260 символів) імен файлів шляху.

Якщо у вас є сотні шляхів, які занадто довгі для виправлення, використовуйте інструмент " Шлях довгий автоматичний фіксатор "


2
FastCopy - це справді досить чудово. Зокрема, на відміну від RoboCopy, він робить корисні речі із сполученням каталогів / м'якими посиланнями.
rlpowell

Відмінно. Крім того, є відповідь SO, в якій перераховані подібні програми швидкого копіювання , які також зазвичай сумісні з розширеними шляхами.
ingyhere

-3

Найшвидший виправлення, яке я використовував у цій ситуації, полягав у тому, щоб перейменовувати папки з надто довгими іменами на щось на зразок "1".

Також, як загальна практика, я намагаюся пояснити всім користувачам не вводити свою історію життя у ім’я файлу чи папки.

Будь-який гідний менеджер файлів може працювати довше ніж 260 імен файлів символів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.