Por que não podemos criar a pasta CON, PRN, Null no Windows? [duplicado]

10

Quando eu faço uma nova pasta e a renomeio para nulela, dizThe Specified device name is invalid.

então eu procurei quais são as outras pastas que não pode fazer, e obter nomes con, nul, prn?

quais são esses nomes? e por que não podemos criar pastas com esses nomes?

shyammakwana.me
fonte

Respostas:

32

Tudo começa com o antigo PIPcomando CP / M - esse comando, usado para copiar arquivos, permitiu especificar nomes de dispositivos especiais em vez de arquivos.

Gary Kildall, que desenvolveu o CP / M, baseou grande parte do design de sua estrutura de arquivos e processador de comandos em sistemas operacionais da Digital Equipment, como o RSTS / E para o PDP-11. Além de acessar arquivos em um disquete, o comando PIP no CP / M também pode transferir dados para e dos seguintes "arquivos especiais":

CON: — console (input and output)
AUX: — an auxiliary device. In CP/M 1 and 2, PIP used PUN: (paper tape punch) and RDR: (paper tape reader) instead of AUX:
LST: — list output device, usually the printer
PRN: — as LST:, but lines were numbered, tabs expanded and form feeds added every 60 lines
NUL: — null device, akin to /dev/null
EOF: — input device that produced end-of-file characters, ASCII 0x1A
INP: — custom input device, by default the same as EOF:
OUT: — custom output device, by default the same as NUL:

Esses arquivos não eram verdadeiros, no entanto, porque o manuseio era limitado ao PIP.

Então o DOS aparece no início dos anos 80, um clone 8086 CP / M destinado a trabalhar no então novo PC IBM. O DOS estendeu um pouco mais esse conceito - os itens acima eram "arquivos especiais" e podiam ser especificados sempre que um arquivo era esperado nos comandos do DOS. Portanto, o copycomando interno do DOS pode ser usado para imprimir um documento executando copy myfile.txt prn:. (Versões posteriores do CP / M podem ter sido capazes de fazer isso, mas duvido.)

Avance para o Windows 95. Sendo construído sobre o DOS, o código que gerencia esses nomes de arquivos especiais permaneceu, mas evidentemente não foi integrado muito bem na parte da GUI do Windows 95. Isso causou alguns problemas, como o bug CON \ CON - e isso também causava problemas no IE.

Provavelmente por causa da paranóia de outros erros ocultos (embora nenhum deva existir nas versões do Windows baseadas no NT), a Microsoft decidiu fazer com que o Explorer sempre rejeitasse qualquer tentativa de criar um arquivo com esse nome. É engraçado que, mesmo no sistema Windows 8 que estou usando agora, ainda não consiga criar uma pasta chamada "con". (O Windows 10 ainda não permitirá que você faça isso).

LawrenceC
fonte
Você se importaria de postar isso no Por que não consigo nomear uma pasta ou arquivo 'CON' no Windows ? Sua explicação entra em muito mais detalhes do que as respostas existentes.
Stevoisiak