Um resumo conciso pode ser encontrado na Wikipedia :
Os caracteres legais para nomes de arquivos do DOS incluem o seguinte:
- Letras maiúsculas
A
-Z
- Números
0
-9
- Espaço (embora os espaços à direita no nome base ou na extensão sejam considerados como preenchimento e não faça parte do nome do arquivo, também os nomes de arquivos com espaços devem ser colocados entre aspas para serem usados em uma linha de comando do DOS e, se o DOS O comando é criado programaticamente, o nome do arquivo deve ser colocado entre aspas quádruplas quando exibido como uma variável no programa que cria o comando DOS.)
! # $ % & ' ( ) - @ ^ _ ` { } ~
- Valores 128–255 (embora se os serviços NLS estiverem ativos no DOS, alguns caracteres interpretados como minúsculos são inválidos e indisponíveis)
Isso exclui os seguintes caracteres ASCII:
" * + , / : ; < = > ? \ [ ] |
[9]
- Windows / MS-DOS não possui caractere de escape de shell
.
(U + 002E. Ponto final) nos campos de nome e extensão, exceto em. e .. entradas (veja abaixo)
- Letras minúsculas
a
- z
(armazenadas como A – Z no FAT12 / FAT16)
- Caracteres de controle de 0 a 31
- Valor 127 (DEL) [duvidoso - discutir]
https://en.wikipedia.org/wiki/8.3_filename#Directory_table
E aqui está o que o guia do usuário do MS-DOS 6 disse oficialmente
Nomeando arquivos e diretórios
Todo arquivo e diretório, exceto o diretório raiz em cada unidade, deve ter um nome. A lista a seguir resume as regras para nomear arquivos e diretórios. Nomes de arquivos e diretórios:
- Pode ter até oito caracteres. Além disso, você pode incluir uma extensão com até três caracteres.
- Não diferenciam maiúsculas de minúsculas. Não importa se você usa letras maiúsculas ou minúsculas ao digitá-las.
- Pode conter apenas as letras de A a Z, os números de 0 a 9 e os seguintes caracteres especiais: sublinhado (
_
), ^
sinal de intercalação ( ), cifrão ( $
), til ( ~
), ponto de exclamação ( !
), sinal de número ( #
), sinal de porcentagem ( ) ( %
), e comercial ( &
), hífen ( -
), chaves ( {}
), sinal de trânsito ( @
), aspas simples ( `
), apóstrofo ( '
) e parênteses ()
. Nenhum outro caractere especial é aceitável.
- Não pode conter espaços, vírgulas, barras invertidas ou pontos (exceto o período que separa o nome da extensão).
- Não pode ser idêntico ao nome de outro arquivo ou subdiretório no mesmo diretório.
Isto é do PC-DOS 7:
O nome que você atribui a um arquivo deve atender aos seguintes critérios:
- Ele pode conter não mais que oito caracteres.
Pode consistir nas letras A a Z, nos números de 0 a 9 e nos seguintes caracteres especiais:
_ underscore ^ caret
$ dollar sign ~ tilde
! exclamation point # number sign
% percent sign & ampersand
- hyphen {} braces
@ at sign ` single quote
' apostrophe () parentheses
Nota: Nenhum outro caractere especial é aceitável.
- O nome não pode conter espaços, vírgulas, barras invertidas ou pontos (exceto o período que separa o nome da extensão).
- O nome não pode ser um dos seguintes nomes de arquivos reservados: CLOCK $, CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT2, LPT3, LPT4, NUL e PRN.
- Não pode ser o mesmo nome que outro arquivo dentro do diretório.
Guia do Usuário - PC DOS 7
O primeiro byte de um nome não deve ser 0x20 (espaço). Nomes curtos ou extensões são preenchidos com espaços. Caracteres ASCII especiais 0x22 ( "
), 0x2a ( *
), 0x2b ( +
), 0x2c ( ,
), 0x2e ( .
), 0x2f ( /
), 0x3a ( :
), 0x3b ( ;
), 0x3c ( <
), 0x3d ( =
), 0x3e ( >
), 0x3f ( ?
) , 0x5b ( [
), 0x5c ( \
), 0x5d ( ]
), 0x7c ( |
) não são permitidos.
O sistema de arquivos FAT
Se você também estiver interessado no MS-DOS 5.0, aqui está ele .