Альтернатива Windows Explorer для довгих імен шляху


24

Оновлення:

  1. Я виявив, що не тільки Windows Explorer, але й інше програмне забезпечення страждає від занадто довгих імен шляху. Наприклад, у Firefox, коли я зберігаю веб-сторінку в каталозі, я все ще не можу це зробити, якщо її ім'я або назва шляху занадто довгі. Чи Firefox також покладається на Windows Explorer? Як я можу вирішити цю проблему?

  2. Я спробував програмне забезпечення, рекомендоване у двох відповідях. Жоден із них не може отримати доступ до довгого шляху. Чи властива проблема "Довгий шлях" ОС Windows, незалежно від того, яка програма переглядати каталоги? Якщо так, то чи означає це, що немає способу обійти це?

Оригінал: У мене на ноутбуці встановлені дві ОС: Windows 7 та Ubuntu 10.10. Вони поділяють перегородку.

В Ubuntu, використовуючи Nautilus, я можу створювати каталоги, розташовані дуже глибоко в ієрархії контурів на спільному розділі. Але при переході на Windows Windows Explorer не дозволяє отримати доступ до каталогів, які розташовані занадто глибоко, тобто мають занадто довге ім'я шляху.

Також Windows Explorer, здається, не в змозі отримати доступ до файлів та директорій, створених під Ubuntu, зі спеціальними символами в каталогах та іменах файлів.

Мені було цікаво, що може вирішити проблему в Windows? Наприклад, чи є інше альтернативне програмне забезпечення для заміни Windows Explorer?


1
Яку файлову систему ви використовували для спільного розділу (FAT32, NTFS)?
Джеймс П

1
@James: ntfs ...
Тім

Я б запитав, навіщо вам потрібна ця довжина шляху чи глибина? вирішити все, що призвело до того, що ви вдаритесь до межі 259, ймовірно, простіше, ніж змусити Windows працювати навколо цього.
cjb110

Відповіді:


30

Хоча NTFS дозволяє пропускати шлях приблизно 32 000 символів, ви знайшли обмеження довжиною шляху 2532 символів API Win32 .

В Windows API (за деякими винятками, що обговорюються у [зв'язаному документі]), максимальна довжина шляху є MAX_PATH, яка визначається як 260 символів.

(До NULLшляху також додається символ закінчення, який дає нам 259 символів, що використовуються.)

З Провідника (і майже всі інші додатки Windows) покладаються на API Win32 для доступу до файлової системи, це не практично , щоб обійти це обмеження , навіть якщо це можливо :

API Windows має багато функцій, які також мають версії Unicode, щоб дозволити шлях збільшеної довжини для максимальної загальної довжини шляху 32767 символів. Цей тип шляху складається з компонентів, розділених косою рисою, кожен до значення, що повертається в lpMaximumComponentLengthпараметрі GetVolumeInformationфункції (це значення зазвичай 255 символів). Щоб вказати шлях збільшеної довжини, використовуйте префікс "\\? \". Наприклад, "\\? \ D: \ дуже довгий шлях ".

На жаль, ви не можете просто ввести \\?\D:\very long pathу вікно провідника. Додаток має бути розроблено для використання цих API та обробки дуже довгих імен.

Один із способів доступу до шляхів збільшеної довжини під Windows - це встановлення Cygwin , шару емуляції * nix для Windows. У моєму тестуванні, схоже, Cygwin не обмежений MAX_PATH; bash та vi не мали проблем із шляхами довжиною 2000 символів.

Майте на увазі, що хоч ви можете використовувати bash для перегляду шляхів збільшеної довжини, ви, ймовірно, не зможете відкривати файли в цих контурах у звичайних програмах Windows. Наприклад, ви вводите текст, notepadколи робочий каталог - це шлях із збільшеною довжиною

Помилка: у поточного робочого каталогу є шлях, довший дозволеного для робочого каталогу Win32. Неможливо запустити навідну програму Windows звідси.

І спроба теж notepad "\\?\D:\very long path\file.txt"не працює; він запускається, але просто говорить: "Неможливо знайти файл ..." Якщо спробувати те саме з Notepad ++, його збій. (Можливо, переповнення буфера.)

Вашим іншим варіантом доступу до певних файлів, похованих глибоко в межах великої довжини, є скорочення самого шляху шляхом створення точки з'єднання NTFS . З підвищеного командного рядка:

D:\> mklink /J jct "\\?\D:\very\long\path"

Тепер ви можете отримати доступ до вмісту D:\very\long\path\від D:\jct\. Ви не матимете жодних проблем із довжиною шляху, тому що, що стосується Провідника та інших додатків, шлях є справедливим D:\jct\(або будь-яким іншим). Драйвер NTFS прозоро обробляє перенаправлення шляху ("точка перезавантаження").

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

Що стосується спеціальних символів ( " * : < > ? \ |), то це просто нікуди. Ці символи мають особливі значення в Windows, тому використовувати їх в межах шляхів неможливо. (Cygwin дозволяє створювати файли зі спеціальними символами, але це робиться, замінюючи символи спеціальними символами Unicode, які потім замінює під час читання. Перегляд цих створених Cygwin файлів під Linux або в Explorer не виглядає правильним, оскільки символи Unicode не будуть замінені назад.)


Все це говорило: що ти робиш, що вимагає дуже довгих шляхів? Можливо, ви могли б полегшити своє життя, переоцінивши те, що ви робите, і уникаючи довгих шляхів. Швидше за все, вам так чи інакше не потрібні стежки .


Схоже, у цій відповіді написано: "Не існує програмного забезпечення, яке б робило те, що ви шукаєте", але не чітко
Аарон

5

Якщо вам подобаються програми в текстовому режимі, то FAR Manager може вас зацікавити, оскільки я виявив, що він може підтримувати більш глибокі структури каталогів, ніж це може бути Провідник Windows (хоча все ще є деякі обмеження, накладені самою базовою ОС Windows).

Це нативне 32-бітне / 64-бітове додаток для Windows, яке, як і Norton Commander (з часів, коли DOS був верховним правителем операційних систем на ПК), спеціалізується на каталогах (він же "Folder") та керуванні файлами.

Я навіть бачив повідомлення про те, що він використовується як заміна для Провідника Windows, але я цього не пробував, тому що я дуже задоволений цим у контексті використання його як програми. На скріншоті, який я включив нижче, розміщена функція «Дерево каталогів» у правій частині, яка активується натисканням клавіші F9 (панель меню), потім «R» (меню правої панелі), далі «T» (режим панелі дерев) , які можуть вас зацікавити ...

  FAR Manager (безкоштовний та відкритий код)
  http://www.farmanager.com/

введіть тут опис зображення


Спасибі! (1) Я спробував FAR раніше. Є два питання. Я відчуваю, як темно-синій напружує очі, так чи можна це змінити? Також мені цікаво, як вибрати програму для відкриття файлу, який може бути або не розпізнаний, або відкритий у кількох різних програмах. (2) Я виявив, що не тільки Windows Explorer, а й інше програмне забезпечення страждають від занадто довгих імен шляху. Наприклад, у Firefox я хотів би зберегти веб-сторінку в каталозі, я все ще не можу відкрити каталог, якщо його ім'я або назва шляху занадто довгі. Чи Firefox також покладається на Windows Explorer? Як я можу вирішити цю проблему?
Тім

Так, колір можна змінити: F9 (рядок меню), "O" (меню параметрів), "L" (Кольори).
Рандольф Річардсон

Я не повністю розумію друге питання про "... як вибрати програму для відкриття файлу ...", але якщо ти натиснеш Shift-Enter на файл, він буде розраховувати на файлові асоціації Windows, щоб відкрити його (замість цього намагання знайти вбудовану функцію або плагін FAR Manager для її обробки).
Рендольф Річардсон

Для вашого останнього запитання я помітив, що FAR Manager, здається, іноді здатний обробляти трохи довші шляхи. Я не впевнений, чому це відбувається, але я підозрюю, що проблема, яку ви відчуваєте, може бути обмеженням самої ОС Windows.
Рендольф Річардсон

1
Використовуйте Shift-Enter, що спричинить спроби відкриття Windows; оскільки він не буде розпізнаний, вам буде запропоновано звичайне підказку щодо вибору програми.
Рандольф Річардсон

4

Є кілька альтернатив, але я не перевіряв, наскільки глибокими можуть бути каталоги.

Я спробував Explorer ++ , відкритий і портативний

Скріншот Explorer ++

і кучеряве використання Cubic Explorer , також відкриває джерело:

Скріншот Cubicexplorer


Спасибі! Я виявив, що не тільки Windows Explorer, але й інше програмне забезпечення страждає від занадто довгих імен шляху. Наприклад, у Firefox я хотів би зберегти веб-сторінку в каталозі, я все ще не можу відкрити каталог, якщо його ім'я або назва шляху занадто довгі. . Чи Firefox також покладається на Windows Explorer? Як я можу вирішити цю проблему?
Тім

1
@Tim: Ви можете зіткнутися з обмеженням, накладеним самою конструкцією Windows. Я також зауважив, що у підказці DOS навіть виникають проблеми із дійсно довгими шляхами, хоча я можу трохи глибше використовувати ці потворні назви "8.3 стилю" (наприклад, "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Одна з приємних особливостей полягає в тому, що змішування цих коротших 8,3 імен траєкторій з більш довгими, здається, спрацьовує добре в більшості програм.
Рандольф Річардсон

@Randolf: Дякую! Я спробував програмне забезпечення, рекомендоване у ваших публікаціях та в Juhele. За винятком FAR, не з них можна отримати довгий шлях, тоді як FAR може відкрити таку директорію, але вона не може відкрити файл під нею. Чи властива проблема "Довгий шлях" ОС Windows незалежно від того, яка програма переглядати каталоги? Якщо так, то чи означає це, що немає способу обійти це?
Тім

@Tim: Я вважаю, ви підтвердили проблему з обмеженням у самій Windows. Чи можете ви використовувати FAR Manage для перегляду файлу (клавіша F3 після виділення файла)? А як щодо використання Enter (без Shift)? (Якщо ви можете переглядати його, то ви також можете скопіювати його в інше місце, де Windows може скористатися ним - хоча це втомливо, але принаймні дає можливість отримати доступ до файлу.)
Рандольф Річардсон,

4
Я просто спробував Explorer ++ та Cubic Explorer. Але обидва, схоже, не підтримують довгих імен.
xaedes

1

Я спробував 7-Zip файловий менеджер, і, здається, він працює добре з довгими шляхами.


Блискуче! Прихований дорогоцінний камінь, який я мав на своєму комп’ютері і просто не думав намагатися. Бонус: Я мав довгий шлях у мережі, і я помітив, що продуктивність 7-мейлера файлів Zip File є божевільною швидкістю проти повільної продуктивності Windows Explorer
Omaer

0

Ви пробували Total Commander ? Це умовно. Здається, має справу з іменами довгих шляхів і загалом є дуже корисним файловим менеджером.

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