Detalhes completos sobre o que é permitido no MSDN:
Use a period to separate the base file name from the extension in the name of a directory or file.
Use a backslash () to separate the components of a path. The backslash divides the file name from the path to it, and one directory name from another directory name in a path. You cannot use a backslash in the name for the actual file or directory because it is a reserved character that separates the names into components.
Use a backslash as required as part of volume names, for example, the "C:\" in "C:\path\file" or the "\server\share" in "\server\share\path\file" for Universal Naming Convention (UNC) names. For more information about UNC names, see the Maximum Path Length Limitation section.
Do not assume case sensitivity. For example, consider the names OSCAR, Oscar, and oscar to be the same, even though some file systems (such as a POSIX-compliant file system) may consider them as different. Note that NTFS supports POSIX semantics for case sensitivity but this is not the default behavior. For more information, see CreateFile.
Volume designators (drive letters) are similarly case-insensitive. For example, "D:\" and "d:\" refer to the same volume.
Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following:
The following reserved characters:
- < (less than)
(greater than)
- : (dois pontos)
- "(aspas duplas)
- / (barra)
- \ (barra invertida)
- | (barra ou tubo vertical)
- (ponto de interrogação)
- * (asterisco)
Valor inteiro zero, por vezes referido como o ASCII NUL personagem.
Caracteres cujas representações inteiras estão no intervalo de 1 a 31, exceto para alternativas fluxos onde esses personagens são permitido. Para mais informações sobre fluxos de arquivos, consulte Fluxos de arquivos.
Qualquer outro caractere que o sistema de arquivos de destino não permita.
Use um período como um componente de diretório em um caminho para representar o diretório atual, por exemplo ". \ temp.txt". Para maiores informações, veja Caminhos.
Use dois períodos consecutivos (..) como um componente de diretório em um caminho para representa o pai da corrente diretório, por exemplo ".. \ temp.txt". Para mais informações, consulte Caminhos.
Não use os seguintes nomes de dispositivos reservados para o nome de um arquivo:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 e LPT9. Evite também estes nomes seguidos imediatamente por um extensão; por exemplo, NUL.txt não é recomendado. Para mais informações, veja Namespaces.
Não termine um nome de arquivo ou diretório com um espaço ou um ponto. Apesar de sistema de arquivos subjacente pode suportar esses nomes, o shell e o usuário do Windows interface não. No entanto, é aceitável especificar um período como o primeiro caractere de um nome. Para exemplo, ".temp".