10 votos

Cómo crear el nombre de la carpeta o el nombre del archivo con caracteres especiales como \ / : * ? " < > |

Mi problema es que, no puedo dar nombre a mi carpeta o archivo con caracteres especiales como \ / : * ? " < > | en el S.O. basado en Windows. Esto es muy importante para mí, que dar nombre de archivo / carpeta que contienen este tipo de caracteres.

Ya he buscado y referido tantos sitios, para estos problemas pero todos son inútiles. También leí la página de soporte de Microsoft, ellos sugieren usar otros caracteres. Este es su enlace, https://support.microsoft.com/en-us/kb/177506

Ya he probado el botón Alt + el número de código ASCII de este tipo de caracteres especiales, desde la tecla del teclado numérico, sólo el ejemplo de renombrar el archivo/carpeta y presionar Alt+60 (para los caracteres <) Todavía da el mensaje de que, Un nombre de archivo no puede contener ninguno de los siguientes caracteres: \ / : * ? " < > |

Sugiérame una solución adecuada para que pueda dar nombre a mi archivo/carpeta con este tipo de caracteres especiales.

18voto

DavidPostill Puntos 30286

Esto es muy importante para mí, nombrar el archivo/carpeta que contiene estos caracteres.

Puede que sea importante para ti, pero tendrás que dejarlo pasar y encontrar una forma diferente de resolver tu problema.

Estos caracteres no están permitidos por las llamadas a las funciones del sistema operativo Windows que manejan los nombres de los archivos.

No se permiten específicamente porque tienen otro uso:

  • \ - Reservado para su uso como separador de rutas y escape carácter
  • / - Reservado para su uso como separador de rutas
  • : - Reservado para su uso como delimitador del nombre de la unidad
  • * y ? - Reservado para su uso como comodín caracteres
  • " - Reservado para su uso a cita nombres que contienen espacios
  • <, > y | - Reservado para su uso como comando redirección operadores

Por supuesto, puede crear archivos con nombres que contengan estos caracteres utilizando un sistema operativo diferente (siempre que ese sistema operativo pueda leer/escribir un sistema de archivos de Windows).

Sin embargo, no podrá hacer nada con esos archivos usando ningún programa de Windows y estos no entenderán los nombres de los archivos y generarán errores.


Nombrar archivos, rutas y espacios de nombres

Convenciones de nomenclatura

Las siguientes reglas fundamentales permiten a las aplicaciones crear y nombres válidos para los archivos y directorios, independientemente del sistema de sistema de archivos:

...

Utilice cualquier carácter de la página de códigos actual para un nombre, incluidos caracteres Unicode y caracteres del conjunto de caracteres ampliado (128-255), excepto los siguientes:

  • Los siguientes caracteres reservados:

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
  • Valor entero cero, a veces denominado carácter ASCII NUL.

  • Caracteres cuyas representaciones enteras están en el rango de 1 a 31, excepto para los flujos de datos alternativos donde estos caracteres están permitidos. Para obtener más información sobre los flujos de archivos, consulte Archivo de archivos.

  • Cualquier otro carácter que el sistema de archivos de destino no permita.

Fuente Nombrar archivos, rutas y espacios de nombres


Pero realmente quiero hacer esto de todos modos.

Instalar cygwin y utilizar touch .

No he probado todas las posibilidades pero las siguientes funcionan:

touch :
touch \|
touch \"
touch \>

Ejemplo de salida:

DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'

Como puedes ver, no son utilizables en Windows:

F:\test\impossible>dir
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\impossible

10/08/2016  21:07    <DIR>          .
10/08/2016  21:07    <DIR>          ..
10/08/2016  21:03                 0 
10/08/2016  21:02                 0 
10/08/2016  21:07                 0 
10/08/2016  21:02                 0 
               4 File(s)              0 bytes
               2 Dir(s)  1,772,601,536,512 bytes free

enter image description here

3voto

GreenKiwi Puntos 279

En Windows, no se pueden crear archivos con esos caracteres. No hay solución, estos caracteres están prohibidos por la API Win32.

Win32 es un subconjunto del espacio de nombres POSIX y no distingue entre mayúsculas y minúsculas. En utiliza todos los caracteres Unicode, excepto: '"' '*' '/' ':' '<' '>' '?' N.B. Los nombres no pueden terminar con el punto '.', ni con el espacio ''.

-- http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf

3voto

Craig620 Puntos 166

Construye tu propio conjunto de fuentes. Sustituye algunos de los caracteres que no utilices por las imágenes de los caracteres reservados.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: