Como criar um nome de pasta ou arquivo com caracteres especiais como \ / : * ? " < > |

Como criar um nome de pasta ou arquivo com caracteres especiais como \ / : * ? " < > |

Meu problema é que não consigo dar o nome da minha pasta ou arquivo com caracteres especiais como \ / : * ? " < > | em sistemas operacionais baseados em Windows Isso é muito importante para mim, dar o nome do arquivo/pasta que contém esse tipo de caracteres.

Já pesquiso e indico tantos sites para esses problemas, mas todos estão sem esperança. Também li a página de suporte da Microsoft, eles sugerem o uso de outros caracteres. Este é o seu link,https://support.microsoft.com/en-us/kb/177506

Eu já tentei o botão Alt + número do código ASCII deste tipo de caracteres especiais, a partir da tecla numpad, apenas por exemplo renomear arquivo/pasta e pressionar Alt+60 (para <caracteres) Ainda está dando a mensagem de que, Um nome de arquivo não pode conter nenhum dos seguintes personagens: \ / : * ? " < > |

Sugira-me uma solução adequada para que eu possa dar o nome do meu arquivo/pasta com este tipo de caracteres especiais.

Responder1

Isso é muito importante para mim, nomear 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 tratam de nomes de arquivos.

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

  • \- Reservado para uso como separador de caminho eescaparpersonagem
  • /- Reservado para uso como separador de caminho
  • :- Reservado para uso como delimitador de nome de unidade
  • *e ?- Reservado para uso comocuringapersonagens
  • "- Reservado para usocitarnomes contendo espaços
  • <, >e |- Reservado para uso como comandoredirecionamentooperadores

Você pode, é claro, criar arquivos com nomes contendo esses caracteres usando um sistema operacional diferente (desde que esse sistema operacional possa ler/gravar 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

Convenções de nomenclatura

As seguintes regras fundamentais permitem que os aplicativos criem e processem nomes válidos para arquivos e diretórios, independentemente do sistema de arquivos:

...

Use qualquer caractere na página de código atual para um nome, incluindo caracteres Unicode e caracteres no conjunto de caracteres estendido (128–255), exceto o seguinte:

  • Os seguintes caracteres reservados:

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
    
  • Valor inteiro zero, às vezes chamado de caractere ASCII NUL.
  • Caracteres cujas representações inteiras estão no intervalo de 1 a 31, exceto para fluxos de dados alternativos onde esses caracteres são permitidos. Para obter mais informações sobre fluxos de arquivos, consulte Fluxos de arquivos.
  • Qualquer outro caractere que o sistema de arquivos de destino não permita.

FonteNomeando arquivos, caminhos e namespaces


Mas eu realmente quero fazer isso de qualquer maneira.

InstalarCygwinE use touch.

Não testei todas as possibilidades, mas o seguinte funciona:

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 podem ser usados ​​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

insira a descrição da imagem aqui

Responder2

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

Responder3

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

Win32 é um subconjunto do namespace POSIX e não diferencia maiúsculas de minúsculas. Ele usa todos os caracteres Unicode, exceto: '"' '*' '/' ':' '<' '>' '?' '\' '|' NB Os nomes não podem terminar com ponto '.' ou espaço ''.

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

informação relacionada