Назви файлів надто довгі, і Windows не може відкрити файли


12

Там є купа файлів на мережевому диску, на досить глибокому шляху і каталоги на більшості з них мають довгі імена. Я думаю, що вони спочатку були створені, коли хтось скопіював & amp; Вставте кореневий каталог для цієї групи файлів з локальної робочої станції на спільний мережевий диск. Я вважаю, що на локальній робочій станції не було ніяких проблем з відкриттям файлу, але тепер, коли вони знаходяться на більш довгому шляху в мережі, 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.

Будь-які поради щодо того, як я можу прочитати ці файли?


В порядку ! Подивись на superuser.com/questions/257472/…
bZezzz

@bZezzz: Це схоже на те, що буде працювати на основі файлу за файлом, але я шукаю щось, щоб зробити цілу групу доступною відразу. Копіювання до локальних робочих станцій було б нормальним, але довгими файлами обов'язково бути збереженими (вони забезпечують дуже специфічний контекст для вмісту файлу). Крім того, багато користувачів тут недостатньо технічні, щоб почати відкривати файли з командного рядка. Ваша пропозиція може працювати для мене і для однієї людини.
FrustratedWithFormsDesigner

Відповіді:


7

Спробуйте замінити шлях на SUBST.EXE. Він поставляється з 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: відображається.


2
Нещодавно я зіткнувся з цією проблемою й Я використав підхід SUBST. Для цього я знайшов інструмент Visual Subst, доступний у ntwind.com/software/utilities/visual-subst.html бути безцінним.
yosh m

6

Необхідно перейменувати імена каталогів у шляху, доки ім'я не буде достатньо коротким для доступу до ОС.

Я б перейшов до першої папки, чиє ім'я ви можете змінити, і перейменувати її в одну букву, а потім зробити те ж саме для кожної наступної папки, поки ви не отримаєте потрібний файл.

Щодо необхідності збереження структури: Існують обмеження, з якими ми повинні працювати на операційних системах, і не варто регулярно працювати за межами цих параметрів. Будь-яке швидке рішення тепер буде лише патч, який потрібно буде знову запустити в майбутньому. Істинне рішення буде включати в себе реорганізацію структури каталогів таким чином, що ця надзвичайно довга проблема з папкою / ім'ям більше не потрібна.


256 символів.
bZezzz

Ні, вони повинні використовувати програму, яка не є Windows Explorer, тому що Провідник Windows не звертає уваги на специфікації файлової системи і ліниво вибирає дотримуватися найменшого загального знаменника, роблячи неможливим, наприклад, просто скопіювати існуючий корінь одного диска до кореня іншого ідентичного диска (в ємності, форматі і т.д.) без запуску помилок PATH TOO LONG.
Triynko


0

EDIT: Спочатку я запропонував використовувати robocopy, але, звичайно, це XP, і це не має попередньо встановлених.

Існує жодним чином, ви не зможете "дати кожному те, що вони хочуть" Якщо шлях до файлу занадто довгий, ви не зможете робити з ним будь-які файлові операції. Як я її бачу, у вас є кілька варіантів:

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

  2. Отримайте Linux LiveCD. Вставте його в комп'ютер і завантажте з цього компакт-диска. Перейдіть до диска Windows, який буде автоматично встановлено як окрему файлову систему. Отримати всі потрібні файли та помістити їх у нову папку на робочому столі. Надішліть цю папку та помістіть її на зовнішній жорсткий диск або флешку або якщо ваш мережний диск дозволяє копіювати назад до файлової системи, перемістіть її до каталогу верхнього рівня.


У мене не встановлено robocopy, і я не впевнений, що маю доступ до його встановлення (це робочий комп'ютер). Крім того, це звучить як багато роботи для кожного файлу. Мій приклад був спрощений: насправді є кілька каталогів на декількох рівнях занадто глибоко, кожен з яких містить файли, які зараз недоступні через занадто довгі проблеми. Я дійсно не маю часу зробити це для всіх файлів що кожний захоче.
FrustratedWithFormsDesigner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.