Posible duplicado:
¿Cuál es la ruta de archivo más larga que Windows puede manejar?
¿Alguien sabe si es posible extender la longitud máxima de la ruta en Windows 7 (64 bits)?
Posible duplicado:
¿Cuál es la ruta de archivo más larga que Windows puede manejar?
¿Alguien sabe si es posible extender la longitud máxima de la ruta en Windows 7 (64 bits)?
Respuestas:
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 CreateFileA
que 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 CreateFileA
función y la CreateFileW
funció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.txt
sintaxis ... por lo que incluso los programas que usan CreateFileW
una ruta C:\Path\To\File.txt
tienen 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
).
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.
Use un punto de unión para proporcionar una ruta más corta en una ruta más larga.