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
A
–Z
- Números
0
–9
- 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
a
–z
(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 '+'.
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.