Почему мы не можем сделать папку CON, PRN, Null в Windows? [Дубликат]

10

Когда я создаю новую папку и переименовываю ее, nulона говоритThe Specified device name is invalid.

то я искал которые другие папки , мы не можем сделать, и получить имена con, nul, prn?

что означают эти имена? и почему мы не можем делать папки с этими именами?

shyammakwana.me
источник

Ответы:

32

Все начинается со старой команды PIPCP / M - эта команда, используемая для копирования файлов, позволяла указывать специальные имена устройств вместо файлов.

Гэри Килдалл, который разработал CP / M, основывал большую часть дизайна своей файловой структуры и командного процессора на операционных системах от Digital Equipment, таких как RSTS / E для PDP-11. Помимо доступа к файлам на дискете, команда PIP в CP / M также может передавать данные в и из следующих «специальных файлов»:

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:

Однако это были не настоящие файлы устройств, потому что их обработка была ограничена PIP.

Затем в начале 80-х появился DOS, клон 80 / CP CP / M, предназначенный для работы на новом IBM PC. DOS расширил эту концепцию немного дальше - выше были «специальные файлы», и их можно было указывать везде, где ожидался файл в командах DOS. Таким образом, встроенная copyкоманда DOS может быть использована для печати документа путем выполнения copy myfile.txt prn:. (Более поздние версии CP / M могли бы сделать это, но я сомневаюсь в этом.)

Перенесемся в Windows 95. Сам код, работающий с этими специальными именами, сам по себе был построен поверх DOS, но остался не слишком хорошо интегрированным в GUI-часть Windows 95. Это вызвало некоторые проблемы, такие как ошибка CON \ CON - и это, как было известно, также вызывало проблемы с IE.

Вероятно, из-за паранойи дальнейших скрывающихся ошибок (хотя в версиях Windows для Windows NT их не должно быть), Microsoft решила сделать это там, где Explorer всегда отклоняет любую попытку создать файл с таким именем. Забавно, что даже в системе Windows 8, которую я сейчас использую, я все еще не могу создать папку с именем «con». (Windows 10 все еще не позволит вам сделать это).

LawrenceC
источник
Не могли бы вы опубликовать это на Почему я не могу назвать папку или файл «CON» в Windows ? Ваше объяснение входит в гораздо более подробно, чем существующие ответы.
Stevoisiak