Como criar nome de pasta ou nome de arquivo com caracteres especiais como \ /: *? "| [duplicado]

6

Meu problema é que eu não posso dar o nome da minha pasta ou arquivo com caracteres especiais como \ /: *? "< > | no Windows baseado em O.S. Isso é muito importante para mim, que dá nome ao arquivo / pasta que contém esse tipo de caracteres.

Eu já pesquisei e consultei tantos sites, para esses problemas, mas todos estão sem esperança. Eu também li página de suporte da Microsoft, eles sugerem usar outros personagens. Este é o link, link

Eu já tentei o botão Alt + o código ASCII desse tipo de caractere especial, da tecla numpad, apenas renomeie o arquivo / pasta e pressione Alt + 60 (para < caracteres) Ainda dando mensagem que, Um nome de arquivo não pode conter qualquer um dos seguintes caracteres: \ /: *? "< > |

Sugira-me uma solução adequada para que eu possa fornecer o nome do meu arquivo / pasta com esse tipo de caractere especial.

    
por Kirit_Vanani 10.08.2016 / 21:17

3 respostas

14

Isso é muito importante para mim, nomeando o arquivo / pasta que contém esses caracteres.

Pode ser importante para você, mas você terá que deixar isso de lado e encontrar uma maneira diferente de resolver seu problema.

Esses caracteres não são permitidos pelas chamadas de função do sistema operacional Windows que manipulam nomes de arquivos.

Eles não são especificamente permitidos porque têm outro uso:

  • \ - Reservado para uso como separador de caminho e caractere de escape
  • / - Reservado para uso como separador de caminho
  • : - Reservado para uso como um delimitador de nome de unidade
  • * e ? - Reservado para uso como caracteres wildcard
  • " - Reservado para uso em citações nomes que contêm espaços
  • & lt ;, > e | - Reservado para uso como comando redirecionamento operadores

Você pode, é claro, criar arquivos com nomes que contenham esses caracteres usando um sistema operacional diferente (desde que esse sistema operacional possa ler / gravar em um sistema de arquivos do Windows).

No entanto, você não poderá fazer nada com esses arquivos usando nenhum programa do Windows e eles não entenderão os nomes dos arquivos e gerarão erros.

Nomeando arquivos, caminhos e namespaces

Naming Conventions

The following fundamental rules enable applications to create and process valid names for files and directories, regardless of the file system:

...

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)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
    
  • Integer value zero, sometimes referred to as the ASCII NUL character.
  • Characters whose integer representations are in the range from 1 through 31, except for alternate data streams where these characters are allowed. For more information about file streams, see File Streams.
  • Any other character that the target file system does not allow.

Origem Nomeando arquivos, caminhos e namespaces

Mas eu realmente quero fazer isso de qualquer maneira.

Instale o cygwin e use touch .

Eu não testei todas as possibilidades, mas o seguinte trabalho:

touch :
touch \|
touch \"
touch \>

Exemplo de saída:

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 você pode ver, eles não são utilizáveis no 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

    
por 10.08.2016 / 21:35
2

No Windows, você não pode criar arquivos com esses caracteres. Não há solução, esses caracteres são proibidos pela API do Win32.

Win32 is a subset of the POSIX namespace and is case insensitive. It uses all the Unicode characters, except: '"' '*' '/' ':' '<' '>' '?' '\' '|' N.B. Names cannot end with Dot '.', or Space ''.

- link

    
por 10.08.2016 / 21:20
2

Crie seu próprio conjunto de fontes. Substitua alguns dos caracteres que você não usa pelas imagens dos caracteres reservados.

    
por 10.08.2016 / 22:50