Alternativa al Explorador de Windows para nombres de ruta largos

24

Actualizar:

  1. Descubrí que no solo el Explorador de Windows sino también otro software adolece de nombres de ruta demasiado largos. Por ejemplo, en Firefox, cuando guardo una página web en un directorio, aún no puedo hacerlo si su nombre o ruta es demasiado larga. ¿Firefox también se basa en el Explorador de Windows? ¿Cómo puedo resolver ese problema también?

  2. He probado el software recomendado en las dos respuestas. Ninguno de ellos puede acceder a un camino largo. ¿El problema de la ruta larga es inherente al sistema operativo Windows, independientemente del programa para buscar directorios? En caso afirmativo, ¿significa que no hay forma de evitarlo?

Original: tengo dos sistemas operativos instalados en mi computadora portátil: Windows 7 y Ubuntu 10.10. Comparten una partición.

En Ubuntu, usando Nautilus, puedo crear directorios que se encuentran muy profundos en la jerarquía de rutas en la partición compartida. Pero al cambiar a Windows, el Explorador de Windows no permite acceder a directorios que se encuentran demasiado profundos, es decir, que tienen un nombre de ruta demasiado largo.

Además, el Explorador de Windows parece no poder acceder a los archivos y directorios creados en Ubuntu con caracteres especiales en el directorio y los nombres de archivo.

Me preguntaba qué puede resolver el problema en Windows. Por ejemplo, ¿hay otro software alternativo para reemplazar el Explorador de Windows?

Tim
fuente
1
¿Qué sistema de archivos usó para la partición compartida (FAT32, NTFS)?
James P
1
@James: ntfs ...
Tim
Me preguntaría por qué necesita esta longitud de camino o profundidad. resolver lo que te llevó a alcanzar el límite 259 es probablemente más fácil que hacer que Windows lo evite.
cjb110

Respuestas:

30

Si bien NTFS permite rutas de unos 32,000 caracteres de largo, ha encontrado la limitación de longitud de ruta de 259 caracteres de la API Win32 .

En la API de Windows (con algunas excepciones discutidas en el [documento vinculado]), la longitud máxima para una ruta es MAX_PATH, que se define como 260 caracteres.

(Además, hay un NULLcarácter de terminación adjunto a la ruta, que nos da 259 caracteres utilizables).

Debido a que Explorer (y casi todas las demás aplicaciones de Windows) dependen de la API Win32 para acceder al sistema de archivos, no es práctico sortear esta limitación aunque sea posible :

La API de Windows tiene muchas funciones que también tienen versiones Unicode para permitir una ruta de longitud extendida para una longitud de ruta total máxima de 32,767 caracteres. Este tipo de ruta se compone de componentes separados por barras invertidas, cada uno hasta el valor devuelto en el lpMaximumComponentLengthparámetro de la GetVolumeInformationfunción (este valor suele ser 255 caracteres). Para especificar una ruta de longitud extendida, use el prefijo "\\? \". Por ejemplo, "\\? \ D: \ ruta muy larga ".

Desafortunadamente, no puede simplemente escribir \\?\D:\very long pathen una ventana del Explorador. La aplicación debe estar diseñada para aprovechar estas API y manejar nombres de ruta muy largos.

Una forma de acceder a rutas de longitud extendida en Windows es instalar Cygwin , una capa de emulación * nix para Windows. En mis pruebas, Cygwin no parece estar limitado por MAX_PATH; bash y vi no tuvieron problemas con las rutas de 2.000 caracteres de largo.

Tenga en cuenta que aunque puede usar bash para explorar rutas de longitud extendida, probablemente no podrá abrir archivos en esas rutas en aplicaciones normales de Windows. Por ejemplo, escribir notepadmientras el directorio de trabajo es una ruta de longitud extendida

Error: el directorio de trabajo actual tiene una ruta más larga que la permitida para un directorio de trabajo Win32. No se puede iniciar la aplicación nativa de Windows desde aquí.

Y tratar notepad "\\?\D:\very long path\file.txt"tampoco funciona; se inicia, pero solo dice "No se puede encontrar el archivo ..." Intentar lo mismo con Notepad ++ lo bloquea. (Probablemente un desbordamiento del búfer).

Su otra opción para acceder a archivos específicos enterrados en una ruta de longitud extendida es acortar la ruta creando un punto de unión NTFS . Desde un símbolo del sistema elevado:

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

Ahora puede acceder al contenido de D:\very\long\path\desde D:\jct\. No tendrá problemas de longitud de ruta porque en lo que respecta al Explorador y otras aplicaciones, la ruta es justa D:\jct\(o lo que sea). El controlador NTFS maneja la redirección de la ruta (el "punto de análisis") de forma transparente.

La desventaja de este enfoque es obviamente que debe crear una unión cerca del archivo al que desea acceder; todavía no puede simplemente navegar por toda la estructura del directorio.

Con respecto a los caracteres especiales ( " * : < > ? \ |), eso es simplemente un no-ir. Esos caracteres tienen significados especiales dentro de Windows, por lo que no es posible usarlos dentro de las rutas. (Cygwin le permite crear archivos con caracteres especiales, pero lo hace sustituyendo los caracteres con caracteres Unicode especiales, que luego sustituye al leer. Ver estos archivos creados por Cygwin en Linux o en Explorer no se vería bien, ya que los caracteres Unicode no serían sustituidos de nuevo.)


Dicho todo esto, ¿qué estás haciendo que requiere caminos muy largos? Quizás podría facilitarle la vida al reevaluar lo que está haciendo y evitar largos caminos. Lo más probable es que no necesites caminos tan largos de todos modos .

josh3736
fuente
Parece que esta respuesta dice "No existe ningún software que haga lo que estás buscando" pero no explícitamente
Aaron
5

Si le gustan las aplicaciones en modo de texto, entonces FAR Manager puede ser de su interés, ya que descubrí que puede admitir estructuras de directorio más profundas que el Explorador de Windows (aunque todavía existen algunas limitaciones impuestas por el sistema operativo Windows subyacente).

Esta es una aplicación nativa de Windows de 32 bits / 64 bits que, como Norton Commander (desde los días en que DOS era la regla suprema de los sistemas operativos en la PC), se especializa en Directorio (también conocido como "Carpeta") y administración de archivos.

Incluso he visto informes de que se está utilizando como un reemplazo para el Explorador de Windows, pero no lo he intentado porque estoy bastante satisfecho con él en el contexto de usarlo como una aplicación. La captura de pantalla que incluí a continuación presenta la función "Árbol de directorios" en el lado derecho, que se activa presionando F9 (barra de menú), luego "R" (menú del panel derecho), seguido de "T" (modo de panel de árbol) , que puede ser de particular interés para usted ...

  FAR Manager (gratuito y de código abierto)
  http://www.farmanager.com/

ingrese la descripción de la imagen aquí

Randolf Richardson
fuente
¡Gracias! (1) Lo intenté MUCHO antes. Hay dos preguntas Siento el azul oscuro tensar mis ojos, entonces ¿se puede cambiar? También me pregunto cómo elegir una aplicación para abrir un archivo que puede no reconocerse o abrirse en varias aplicaciones diferentes. (2) Descubrí que no solo el Explorador de Windows sino también otro software adolece de nombres de ruta demasiado largos. Por ejemplo, en Firefox, me gustaría guardar una página web en un directorio, aún no puedo abrir el directorio si su nombre o ruta es demasiado larga. ¿Firefox también se basa en el Explorador de Windows? ¿Cómo puedo resolver ese problema también?
Tim
Sí, el color se puede cambiar: F9 (barra de menú), "O" (menú de opciones), "L" (colores).
Randolf Richardson el
No entiendo completamente la segunda pregunta sobre "... cómo elegir una aplicación para abrir un archivo ..." pero si presiona Shift-Enter en un archivo, dependerá de las Asociaciones de archivos de Windows para abrirlo (en su lugar de tratar de encontrar una función incorporada o el complemento FAR Manager para manejarlo).
Randolf Richardson
Para su última pregunta, he notado que FAR Manager parece ser capaz de manejar rutas ligeramente más largas a veces. No estoy seguro de por qué, pero sospecho que el problema que está experimentando puede ser una limitación del sistema operativo Windows.
Randolf Richardson
1
Use Shift-Enter, lo que hará que Windows intente abrirlo; como no se reconocerá, se le presentará el aviso habitual para seleccionar una aplicación.
Randolf Richardson
4

hay algunas alternativas, pero no verifiqué qué tan profundos podrían ser los directorios.

Probé Explorer ++ , de código abierto y portátil

Captura de pantalla de Explorer ++

y actualmente utilizo Cubic Explorer , también opensource:

Captura de pantalla de Cubicexplorer

Juhele
fuente
¡Gracias! Descubrí que no solo el Explorador de Windows, sino también otro software, tiene nombres de ruta demasiado largos. Por ejemplo, en Firefox, me gustaría guardar una página web en un directorio, aún no puedo abrir el directorio si su nombre o ruta es demasiado larga. . ¿Firefox también se basa en el Explorador de Windows? ¿Cómo puedo resolver ese problema también?
Tim
1
@Tim: es posible que se encuentre con una limitación impuesta por el diseño de Windows. También me di cuenta de que el indicador de DOS incluso tiene problemas con rutas realmente largas, aunque puedo profundizar un poco más usando esos nombres de ruta feos de "estilo 8.3" (por ejemplo, "C: / PROGRA ~ 2 / SPYBOT ~ 1 /") . Sin embargo, una buena característica es que mezclar estos nombres de ruta 8.3 más cortos con los más largos parece funcionar bien en la mayoría de las aplicaciones.
Randolf Richardson el
@Randolf: ¡Gracias! He probado el software recomendado en tus publicaciones y las de Juhele. Excepto FAR, ninguno de ellos puede acceder a una ruta larga, mientras que FAR puede abrir dicho directorio, no puede abrir un archivo debajo de él. ¿El problema de la ruta larga es inherente al sistema operativo Windows, independientemente del programa para buscar directorios? En caso afirmativo, ¿significa que no hay forma de evitarlo?
Tim
@Tim: creo que ha confirmado el problema con una limitación dentro de Windows. ¿Se puede usar FAR Manage para ver el archivo (tecla F3 después de resaltar el archivo)? ¿Qué pasa con el uso de Enter (sin Shift)? (Si puede verlo, también puede copiarlo en otra ubicación donde Windows pueda usarlo, aunque esto es tedioso, al menos hace posible acceder al archivo).
Randolf Richardson,
44
Acabo de probar Explorer ++ y Cubic Explorer. Pero ambos parecen no admitir nombres de ruta largos.
xaedes
2

Probé el administrador de archivos 7-Zip y parece que funcionan bien con rutas largas.

Elouan Keryell-Even
fuente
¡Brillante! Gema oculta que tenía en mi computadora y no pensé en intentarlo. Bonificación: tuve un largo camino en un recurso compartido de red, y noté que el rendimiento en el 7 Zip File Manager es increíblemente rápido frente al lento rendimiento en el Explorador de Windows
Omaer
0

¿Has probado Total Commander ? Es shareware. Parece tratar con nombres de ruta largos y es un administrador de archivos muy útil en general.

el cuerno
fuente