Cuando intento guardar un archivo, si utilizo caracteres especiales en el nombre (como dos puntos, un signo de interrogación o un signo de exclamación) en Windows recibo un mensaje que dice que el nombre del archivo no es válido.
¿Porqué es eso?
windows
special-characters
usuario284989
fuente
fuente
Respuestas:
Hay varios caracteres que tienen un significado especial para Windows (y para DOS, de donde provienen originalmente la mayoría de los caracteres)
de MSDN :
/
es un conmutador (y también un separador de directorio).\
es un separador de directorio:
es un designador de unidad.*
y?
son comodines utilizados en la búsqueda."
es una forma de permitir espacios en los parámetros.<
y>
son redireccionamientos que permiten que la entrada y salida de un programa provenga y vaya a algo que no sea pantalla / teclado.|
es una tubería que permite utilizar la salida de un programa como entrada para el siguiente.fuente
\
?
*
y"
son los únicos realmente necesarios en la sintaxis actual, ya que los otros caracteres solo son útiles fuera de las comillas. La excepción es: que solo es útil como el segundo personaje, que podría prohibirse al permitirlo en otro lugar. En otras palabras, no hay archivo llamadoA:A letter's story.txt
, pero no hay problema con un archivo llamadoSarah: My favorite cat.txt
<>"
son caracteres comodín reservados. Windows los usa para implementar la semántica compleja para DOS*?.
cuando se traduce a NT nativo, que tiene una semántica simple para*?.
. Los seis caracteres comodín están reservados porque Windows implementa la coincidencia de comodines en el propio sistema de archivos, es decir, directamente en laNtQueryDirectoryFile
llamada del sistema, sin mecanismo de escape. En Unix, los comodines se implementan en el nivel de la aplicación, generalmente mediante un shell que permite escapar de ellos.:
generalmente está reservado en los nombres de archivo, pero no en las rutas de los archivos. Se utiliza para nombres de dispositivos y como delimitador para secuencias de archivos (por ejemplo, "nombre de archivo: nombre de secuencia: tipo de secuencia"). Además, algunos sistemas de archivos como el sistema de archivos de carpetas compartidas VirtualBox permiten:
,|
y los caracteres de control ASCII (1-31) en los nombres de archivos, pero están reservados en todos los sistemas de archivos de Microsoft, excepto en el sistema de archivos de canalizaciones con nombre.