Saltar al contenido

¿Qué caracteres no son válidos para un nombre de archivo de MS-DOS?

Luego de de nuestra extensa selección de información dimos con la respuesta este enigma que suelen tener ciertos los usuarios. Te ofrecemos la solución y deseamos servirte de mucha ayuda.

Solución:

Se puede encontrar un resumen conciso en Wikipedia:

Los caracteres legales para los nombres de archivo de DOS incluyen los siguientes:

  • Letras mayúsculas AZ
  • Números 09
  • Espacio (aunque los espacios finales en el nombre base o la extensión se consideran como relleno y no como parte del nombre de archivo, también los nombres de archivo con espacios deben estar entre comillas para usarse en una línea de comando de DOS, y si el DOS El comando se construye programáticamente, el nombre del archivo debe estar entre comillas cuádruples cuando se ve como una variable dentro del programa que construye el comando de DOS).
  • ! # $ % & ' ( ) - @ ^ _ ` ~
  • Valores 128-255 (aunque si los servicios NLS están activos en DOS, algunos caracteres interpretados en minúsculas no son válidos y no están disponibles)

Esto excluye los siguientes caracteres ASCII:

  • " * + , / : ; < = > ? [ ] | [9]
  • Windows / MS-DOS no tiene carácter de escape de shell
  • . (U + 002E. Punto final) dentro de los campos de nombre y extensión, excepto en. y .. entradas (ver más abajo)
  • Letras minusculas az (almacenado como A – Z en FAT12 / FAT16)
  • Caracteres de control 0–31
  • Valor 127 (DEL)[dubious – discuss]

https://en.wikipedia.org/wiki/8.3_filename#Directory_table

Y esto es lo que dice oficialmente la guía del usuario de MS-DOS 6

Nombrar archivos y directorios

Todos los archivos y directorios, excepto el directorio raíz de cada unidad, deben tener un nombre. La siguiente lista resume las reglas para nombrar archivos y directorios. Nombres de archivos y directorios:

  • Puede tener hasta ocho caracteres. Además, puede incluir una extensión de hasta tres caracteres.
  • No distinguen entre mayúsculas y minúsculas. No importa si usa letras mayúsculas o minúsculas cuando las escribe.
  • Puede contener solo las letras de la A a la Z, los números del 0 al 9 y los siguientes caracteres especiales: subrayado (_), signo de intercalación (^), signo de dólar ($), tilde (~), punto de exclamación (!), símbolo de número (#), signo de porcentaje (%), y comercial (&), guión (-), tirantes (), a la señal (@), comillas simples (`), apóstrofe (') y paréntesis (). No se aceptan otros caracteres especiales.
  • No puede contener espacios, comas, barras invertidas ni puntos (excepto el punto que separa el nombre de la extensión).
  • No puede ser idéntico al nombre de otro archivo o subdirectorio del mismo directorio.
  • Guía del usuario concisa: Microsoft® MS-DOS® 6
  • Guía del usuario concisa – Microsoft® MS-DOS® 6 – enlace alternativo

Esto es de PC-DOS 7:

El nombre que asigne a un archivo debe cumplir con los siguientes criterios:

  • No puede contener más de ocho caracteres.
  • Puede constar de las letras de la A a la Z, los números del 0 al 9 y los siguientes caracteres especiales:

    _ underscore            ^  caret
    $ dollar sign           ~  tilde
    ! exclamation point     #  number sign
    % percent sign          &  ampersand
    - hyphen                 braces
    @ at sign               `  single quote
    ' apostrophe            () parentheses
    

Nota: No se aceptan otros caracteres especiales.

  • El nombre no puede contener espacios, comas, barras invertidas ni puntos (excepto el punto que separa el nombre de la extensión).
  • El nombre no puede ser uno de los siguientes nombres de archivo reservados: CLOCK $, CON, AUX, COM1, COM2, COM3, COM4, ​​LPT1, LPT2, LPT3, LPT4, NUL y PRN.
  • No puede ser el mismo nombre que otro archivo dentro del directorio.

Guía del usuario – PC DOS 7

El primer byte de un nombre no debe ser 0x20 (espacio). Los nombres cortos o las extensiones se rellenan con espacios. Caracteres especiales ASCII 0x22 ("), 0x2a (*), 0x2b (+), 0x2c (,), 0x2e (.), 0x2f (/), 0x3a (:), 0x3b (;), 0x3c (<), 0x3d (=), 0x3e (>), 0x3f (?), 0x5b ([), 0x5c (), 0x5d (]), 0x7c (|) no están permitidos.

El sistema de archivos FAT

Si también está interesado en MS-DOS 5.0, aquí está.

Estrictamente hablando, como programador de aplicaciones MS / PC / DR-DOS, se supone que debe solicitar esta información al sistema operativo. INT 0x21 con AX = 0x6505 devuelve un puntero al llamado FCHAR Tabla NLS para su país y página de códigos. Esta tabla enumera un rango de caracteres y un conjunto adicional de caracteres que terminan los nombres de archivo.

En teoría, varía según el país y la página de códigos. Pero el hecho de que no se haya trasladado formalmente a la API del programa de control de OS / 2 y el hecho de que FreeDOS tenga una tabla en todas las páginas de códigos y países muestra que es en gran medida invariable en la práctica.

Otras lecturas

  • http://ctyme.com/intr/rb-3163.htm
  • http://ctyme.com/intr/rb-3163.htm#Table1754

Encontré esto en un manual para MS-DOS 3.3. Estoy ejecutando 6.22, pero probablemente todavía se aplique. Estaba equivocado acerca de que se permitiera '+'.

Ingrese la descripción de la imagen aquí

Aquí puedes ver las reseñas y valoraciones de los lectores

Agradecemos que quieras favorecer nuestro estudio ejecutando un comentario o valorándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *