¿Cómo extiendo el tamaño máximo de la ruta del archivo en Windows 7? [duplicar]

Respuestas:

21

Lamentablemente, la respuesta es " depende del programa ". Depende de las personas que escriben los programas determinar qué método quieren usar. De hecho, (enchufe descarado) escribí una entrada de blog hace unas semanas describiendo el problema en Explorer todavía limitado por MAX_PATH .

Dependiendo de lo que intente hacer, podría usar otro programa para administrar las rutas largas, como Microsoft Word. De lo contrario, su única otra opción es simplemente "vivir con eso", ya que ha sido así desde siempre y no parece estar cambiando en el corto plazo.

Solo pensé que también mencionaría que Windows de 64 bits también usa la API "Win32" y CreateFileAque tanto para los programas de 32 bits como para los de 64 bits tienen el problema.


EDITAR: Detalles Geeky

El problema solo existe en la CreateFileAfunción y la CreateFileWfunción cuando se utiliza una ruta absoluta con una letra de unidad. El único método para evitarlo (en código) es usar la \\?\C:\Path\To\File.txtsintaxis ... por lo que incluso los programas que usan CreateFileWuna ruta C:\Path\To\File.txttienen el problema. Es un poco difícil de describir, pero no hace falta decir que la razón principal de que los programas no admitan internamente la \\?\sintaxis es que pierden la capacidad de usar rutas relativas (como rutas ..\Documents\file.doc).

Joshua
fuente
Suspiro Sí, estaba usando el Explorador de Windows. Me parece extraño porque generalmente pude crear rutas de archivos extremadamente largas en Windows XP sin problemas (nunca tuve el error de ruta larga en XP. ¡Ni una sola vez!). Oh bien
Cameron
2
Sí, hay varias formas de solucionar el problema, aunque ninguna parece funcionar al 100%. Honestamente, encuentro que el problema es un gran problema ya que estamos guardando más y más archivos. Realmente me sorprende cuando Word puede guardar en un camino largo muy bien, pero cuando usa el explorador para copiarlo muere con un "El nombre del camino es demasiado largo para el destino"
Joshua
Gracias por los "detalles geek", son muy interesantes (y tienen algo de sentido) para mí porque soy un programador de estudiantes (aunque todavía no he usado la API de Win32)
Cameron
Es curioso, recibí ese error de ruta larga todo el tiempo en XP / 2003.
surfasb
6

El comando SUBST que se incluye en Windows 7 permitirá el acceso a una ruta más larga a través de la nueva letra de unidad virtual.

Asocia una ruta con una letra de unidad.

SUBST [unidad1: [unidad2:] ruta]

SUBST drive1: / D

unidad1: especifica una unidad virtual a la que desea asignar una ruta.

[unidad2:] ruta Especifica una unidad física y una ruta que desea asignar a una unidad virtual.

/ D Elimina una unidad sustituida (virtual).

Escriba SUBST sin parámetros para mostrar una lista de las unidades virtuales actuales.

Miguel
fuente