La compatibilidad con nombres de archivos largos ( LFN ) es la extensión compatible con versiones anteriores de Microsoft del esquema de nombres de nombres de archivos 8.3 (nombres de archivos cortos) utilizado en DOS . Los nombres de archivos largos pueden ser más descriptivos, incluidas extensiones de archivos más largas como .jpeg
, .tiff
, .html
y .xhtml
que son comunes en otros sistemas operativos, en lugar de nombres abreviados especializados como .jpg
, .tif
, .htm
o .xht
. El estándar ha sido común con los sistemas de archivos FAT (Tabla de asignación de archivos ) desde su primera implementación en Windows NT 3.5 de 1994.
Para mantener la compatibilidad con sistemas operativos más antiguos, Microsoft formuló un método para generar un nombre de archivo 8.3 a partir del nombre de archivo largo (por ejemplo, Microsoft.txt
a MICROS~1.TXT
) y asociarlo con el archivo.
Microsoft implementó soporte para LFN en el sistema de archivos FAT mediante el uso de entradas de directorio ocultas, del tipo de etiqueta de volumen , para almacenar los nombres más largos; este esquema se conoce como VFAT y se eligió por compatibilidad, ya que los programas y componentes del sistema operativo (SO) generalmente ignoran las etiquetas de volumen . Los programas que se ejecutan en sistemas operativos más antiguos aún podrían acceder a los nombres cortos de los archivos, mientras que los sistemas operativos y programas más nuevos compatibles con LFN podrían usar los más largos.
Cuando el soporte LFN se introdujo por primera vez en un sistema operativo basado en DOS en forma de Windows 95 , causó algunos problemas a los programas más antiguos. Por ejemplo, un programa de DOS que realiza operaciones de directorio a nivel de sector mientras Windows estaba en modo DOS podría destruir información de nombres de archivos largos, por lo que, de forma predeterminada, el acceso a nivel de sector a los discos duros no estaba permitido en este modo.
Al iniciar en DOS simple, los nombres de archivos largos no son visibles a menos que esté instalado un controlador VFAT LFN. Microsoft no agregó soporte LFN a muchos de sus programas más antiguos, incluido File Manager , el administrador de archivos de Windows 3.1x (Windows para trabajo en grupo) que quedó obsoleto debido al nuevo shell del sistema operativo, Windows Explorer . Windows NT admitió LFN en sistemas de archivos NTFS a partir del lanzamiento de NT 3.1, y todas sus utilidades, incluido el Administrador de archivos, se actualizaron para admitir LFN. NT 3.5 agregó compatibilidad con FAT LFN en preparación para Windows 95. Sin embargo, la versión de Windows 95 del Administrador de archivos proviene de Windows para trabajo en grupo 3.11.
OS/2 almacena LFN para sistemas de archivos FAT en .LONGNAME
atributos extendidos que son incompatibles con la implementación de Microsoft y sólo son visibles para herramientas que soportan el estándar OS/2. Muchas API que brindan acceso a archivos por nombre de ruta no pueden ver los nombres nuevos y más largos sin un controlador compatible.
Debido a que la implementación de FAT LFN se superpone a un sistema de nombres más antiguo y limitado, existen complicaciones inevitables, como si se intenta crear demasiados archivos con las mismas primeras seis letras. [1] Además, es más probable que uno encuentre problemas al crear archivos o carpetas en el directorio raíz, ya que FAT12 y FAT16 solo asignan espacio para 512 entradas del directorio raíz en los discos duros. Dado que los nombres de archivos largos utilizan más de una entrada de directorio, este problema puede ocurrir con menos de 512 archivos o carpetas en el directorio raíz. [2] Sólo hay espacio para 24 nombres de archivos largos de longitud máxima (512/(1+20)). Este problema no existe para los volúmenes FAT32 .
El sistema de nombres de archivos largos permite una longitud máxima de 255 caracteres UCS-2 [3] [4] incluidos espacios y caracteres no alfanuméricos (excluyendo los siguientes caracteres, que tienen un significado especial dentro del intérprete de comandos COMMAND.COM o el kernel del sistema operativo: \ / : * ? " < > |
). Esto se logra encadenando hasta 20 entradas de directorio de 13 caracteres Unicode de 2 bytes cada una. [4] La longitud máxima de una ruta de acceso es de 256 caracteres, lo que incluye todos los directorios principales y el nombre del archivo. El nombre de archivo largo de 255 caracteres en mayúsculas y minúsculas solo es posible para archivos o carpetas sin subcarpetas, en la carpeta raíz de cualquier unidad.
Si bien la compatibilidad con nombres de archivos largos permite nombres de archivos y directorios más largos, en los sistemas basados en DOS, la ruta de archivo absoluta construida a partir de los equivalentes de nombres de directorios y archivos cortos asociados todavía está representada en una estructura de datos interna llamada Estructura de directorio actual (CDS), [ 5] [6] [7] [8] que impone un límite de 66 caracteres en el nombre de la ruta (corto) y, por lo tanto, limita indirectamente también la profundidad de la ruta a un máximo de 33 niveles (contando en el directorio raíz y asumiendo solo una nombres de letras). (Esta limitación de diseño no estaba presente en versiones anteriores de DR DOS (antes de las actualizaciones de DR DOS 6.0 de noviembre de 1991) que todavía utilizaban una representación de ruta relativa internamente, [7] [8] [9] sin embargo, debido a sus diferencias internas, estas versiones no son compatibles con los controladores complementarios LFN existentes). Los sistemas operativos no basados en DOS sin CDS no están restringidos a esta limitación de profundidad de ruta.
La siguiente es una lista de controladores que se pueden usar para brindar soporte para nombres de archivos largos VFAT como los que se usan en Windows 95. Aunque los controladores como DOSLFN se pueden cargar en casi cualquier versión de DOS, funciona mejor en versiones de DOS que admiten Los propios LFN, como MS-DOS 7.10 o DR-DOS 7.02 , para que los comandos de DOS como DIR
también muestren nombres de archivos largos.
A lo largo de los años también se han escrito algunos pequeños programas Dos en modo real, aunque muchos se han perdido con el tiempo. Una colección notable de programas que todavía existe es LFN Tools, que es de código abierto y comprende siete comandos LFN útiles escritos en C++ y lenguaje ensamblador, con documentación incluida en inglés y alemán, y está disponible en LFNTOOLS en Sourceforge.net.
Antes de que se implementara el soporte LFN en la familia de sistemas de archivos FAT, varios administradores de archivos proporcionaban sus propios métodos para adjuntar y mantener descripciones de archivos más largas. Entre los primeros en hacerlo se encuentran los procesadores de línea de comandos alternativos 4DOS y NDOS con su DESCRIBE
comando interno y DESCRIPT.ION
sus archivos correspondientes. Estos últimos son archivos ocultos opcionales ubicados en cada directorio que almacenan una lista basada en líneas de nombres de archivos ubicados en el directorio junto con su descripción textual y entradas de metadatos opcionales , por ejemplo, atributos extendidos y datos de configuración para otros programas. [10] Las descripciones pueden tener hasta 511 caracteres y se muestran junto con los nombres de los archivos de la misma manera que los nombres de archivos largos se enumeran junto con sus alias de nombres de archivos cortos en los DIR
listados. Si existe una entrada para un archivo, se copiará y moverá con el archivo mientras se utilicen estos procesadores de línea de comandos para realizar la operación. [9] Este esquema aún lo mantienen sucesores como 4OS2 , 4NT/Take Command . También fue adoptado por varios otros programas como Volkov Commander (VC), DOS Navigator (DN), Open DOS Navigator (ODN), Necromancer's DOS Navigator (NDN), Windows Commander , Total Commander , Double Commander , 7-Zip , XnView , ACDSee , Newsbin Pro , V, FreeCOM [11] y algunas aplicaciones basadas en CUI_LIB [12] .
Human68K , el sistema operativo de los ordenadores Sharp X68000 desde 1986, se basa en un sistema de archivos FAT extendido. Permite hasta 18,3 caracteres en un nombre de archivo (en lugar de los 8,3 en FAT) y también permite caracteres en mayúsculas y minúsculas (así como kanji en el código Shift JIS ) que se tratan como distintivos. Si se restringen al uso de nombres de archivos en formato 8.3 con caracteres en mayúscula únicamente, los disquetes Human68K son totalmente compatibles con el formato de disquete FAT estándar japonés de 1232 KiB (77 cilindros, 2 cabezales, 8 sectores, 1024 bytes/sector). Este formato es utilizado por las computadoras de las series NEC PC-9800 , Fujitsu FMR y FM Towns . [ cita necesaria ]
Los volúmenes Novell NetWare versiones 3.x y 4.x también pueden admitir nombres de archivos largos compatibles con Microsoft, cargando un módulo cargable de NetWare (NLM) adicional. [13]
Para admitir aplicaciones Java sin implementar un esquema compatible con VFAT , la versión 2 del sistema operativo IBM 4690 basado en FlexOS introdujo su propia arquitectura de sistema de archivos virtual (VFS) para almacenar nombres de archivos largos en el sistema de archivos FAT de manera compatible con versiones anteriores. Si está habilitado, los nombres de archivos virtuales (VFN) están disponibles en letras de unidades lógicas separadas, mientras que los nombres de archivos reales (RFN) permanecen disponibles en las letras de unidades originales. [14]
MPDOSTIP.ZIP
colección aún más grande del autor mantenida hasta 2001 y distribuida en muchos sitios en ese momento. El enlace proporcionado apunta a una versión anterior del NWDOSTIP.TXT
archivo convertida a HTML). [3]0x23
('#') utilizado por varias utilidades escritas por Matthias R. Paul para listas separadas por espacios de pares de texto clave=valor que contienen propiedades de archivos como atributos extendidos como CP (páginas de códigos), PC (códigos de idioma). , CW (ancho de bits), XS (ancho de página), YS (largo de página), XO (imprimir desplazamiento x), YO (imprimir desplazamiento y), CR (derechos de autor), URL (enlace de origen), etc. 0x25
('%') siendo utilizado por programas que utilizan CUI_LIB para almacenar variables de pseudoentorno , 0xED
estando reservado para Digital Research / Novel / Caldera y 0xFD
para FreeDOS .)4DOS5TIP.TXT
archivo, que forma parte de la MPDOSTIP.ZIP
colección). [4]