Como eu criaria um nome de arquivo com caracteres inválidos, como:?>?

11

Eu preciso criar um arquivo com um nome de arquivo como :>?, isso é possível de alguma forma? O Windows para.

moorecats
fonte
5
Bem, cada caractere restrito tem outro significado ou uso; portanto, se um nome de arquivo ou pasta os contiver, isso poderá fazer com que Bad Things ™ aconteça. Se importa se eu perguntar por que você está tentando fazer isso?
DMA57361
@ DMA57361, quando fiz isso alguns anos atrás, estava testando algumas coisas. Se bem me lembro, os resultados foram divertidos, mas não recordo nada especificamente ruim acontecendo. No máximo, eu simplesmente não conseguia acessá-los. (Embora eu suponho que poderia causar problemas se, por exemplo, você passou a ter arquivos com o nome a, be, a>be tentou ver o último arquivo como a utilização de type a>bOpa..)
Synetech
@moorecast, quando fiz isso alguns anos atrás, criei os arquivos / diretórios com nomes fictícios e usei um editor de disco para definir manualmente os nomes diretamente nas entradas do diretório. Claro que isso estava em um volume FAT32, então foi muito fácil. Seria um pouco mais difícil em um volume NTFS.
Synetech
2
Mind if I ask why you are trying to do this?Talvez para implementar uma (baixa) proteção contra cópia ?
Synetech
"Eu preciso criar um arquivo com um nome de arquivo como:>?" - Duvido que você precise fazer isso.
Jim Balter

Respostas:

14

Infelizmente, você não pode usar os caracteres reservados ao criar pastas ou arquivos porque eles fazem parte das funções do sistema.

O que eu recomendo que você faça é examinar o Character Mapaplicativo - Você pode executar e digitar charmap.

a partir daqui, você poderá encontrar símbolos alternativos com a mesma aparência, por exemplo:

(copie e cole, você verá que são diferentes)

Em vez de barra /- você pode usar um símbolo de divisão

Em vez de dois pontos :- você pode usar a letra modificadora dois pontos

e assim por diante!

texto alternativo

William Hilsum
fonte
Tornando ainda mais difícil a exclusão! :-)
Arjan
3
@Arjan - somente via prompt de comando .. mesmo assim você pode usar a tecla tab para o preenchimento automático.
William Hilsum
4
/é uma barra - não uma barra invertida
Pausada até novo aviso.
1
Eu costumava usar esse truque para determinadas situações, como quando eu preciso colocar uma pergunta em um nome de arquivo ( por que oh por que a Microsoft fazer a reserved‽ ponto de interrogação ఠ_ఠ) Infelizmente, eu tive que parar de usar quaisquer caracteres não-ASCII, porque eles causam problemas com coisas como programas de desfragmentação que, por algum motivo, parecem incapazes de mover arquivos com caracteres Unicode em seus nomes. ಠ ~ ಠ
Synetech
Venha para pensar sobre isso, esta resposta também não responde à pergunta. Há respostas abaixo que fazer , então isso também deve ser apenas um comentário.
Synetech
5

Você pode inicializar a partir de um disco Linux (como o Knoppix ) e montar a partição NTFS.

O Linux tem muito menos restrições aos nomes dos arquivos e permitirá que você crie esses nomes (eu tentei).

sleske
fonte
5

Alguns sistemas operacionais proíbem que determinados caracteres apareçam nos nomes dos arquivos: (Recurso da Wikipedia )

/ slash usado como um separador de componentes de nome de caminho em sistemas Unix, Windows e Amiga. (O shell command.com do MS-DOS o consumiria como um caractere de opção, mas o próprio Windows sempre o aceita como um separador [2] [vago])

\ barra invertida Também usado como um separador de componentes de nome de caminho no MS-DOS, OS / 2 e Windows (não há diferença entre barra e barra invertida); permitido no nome do arquivo Unix

? ponto de interrogação usado como curinga no Unix, Windows e AmigaOS; marca um único caractere. Permitido em nomes de arquivos Unix

* asterisco usado como curinga no Unix, MS-DOS, RT-11, VMS e Windows. Marca qualquer sequência de caracteres (Unix, Windows, versões posteriores do MS-DOS) ou qualquer sequência de caracteres no nome da base ou na extensão (portanto " . " Nas versões anteriores do MS-DOS significa "todos os arquivos". Permitido nos nomes de arquivos do Unix ,

: dois pontos usados ​​para determinar o ponto de montagem / unidade no Windows; usado para determinar o dispositivo virtual ou físico, como uma unidade no AmigaOS, RT-11 e VMS; usado como um separador de nome de caminho no Mac OS clássico. Dobrado após um nome no VMS, indica o nome do nó DECnet (equivalente a um nome de host NetBIOS (rede Windows) precedido por "\".)

| barra vertical designa pipelining de software no Unix e Windows; permitido em nomes de arquivos Unix

"aspas usadas para marcar o início e o fim dos nomes de arquivos que contêm espaços no Windows

<menos que o usado para redirecionar a entrada, permitido nos nomes de arquivos Unix

> maior que o usado para redirecionar a saída, permitido nos nomes de arquivos Unix

. período permitido, mas a última ocorrência será interpretada como o separador de extensões no VMS, MS-DOS e Windows. Em outros sistemas operacionais, geralmente considerados como parte do nome do arquivo, e mais de um ponto final pode ser permitido.

subanki
fonte
2
Você pode discar com segurança a hipérbole <bold>: é possível importar arquivos com caracteres ilegais, superuser.com/questions/31587 .
hyperslug
2
A questão não é por que não posso usar alguns caracteres nos nomes de arquivos ; é como forçar o uso de caracteres reservados . Como tal, esta resposta é uma resposta para uma pergunta diferente . No máximo, este deve ser um comentário com um link para o artigo da Wikipedia.
Synetech
2

A única maneira é editar manualmente o disco rígido usando um programa como o HxD . Se você fizer isso, provavelmente os arquivos não serão acessíveis por nenhum programa. Por exemplo, se você tentasse abrir um arquivo chamado abc\def.txt, receberia uma mensagem informando que o diretório abcnão existe.

zildjohn01
fonte
+1 Foi assim que fiz um tempo atrás. Eu era facilmente capaz de usar cada caráter reservado editando diretamente as entradas de diretório FAT. (Também é possível em NTFS, mas um pouco mais envolvidos.)
Synetech
2

Você pode instalar o Subsistema para aplicativos Unix se estiver no Ultimate ou Enterprise. A partir daí, você pode criar esses nomes.

Joey
fonte