2015-05-28 2 views

ответ

0

Unix представил / как разделитель каталогов примерно в 1970 году. Не знаю, почему был выбран именно этот персонаж; система предков Multics использовала >, но дизайнеры Unix уже использовали > вместе с < для перенаправления в оболочке (см. Why is the root directory denoted by a / sign?).

MS-DOS 2.0 представил \ в качестве разделителя каталогов в начале 1980-х годов. Причина, почему / не была использована, заключается в том, что MS-DOS 1.0 (которая вообще не поддерживает каталоги) уже использовала /, чтобы ввести параметры командной строки. Это использовало / от CP/M, который взял его от VMS. Вы можете прочитать более подробное объяснение того, почему этот выбор был сделан on Larry Osterman's blog (MS-DOS даже вкратце имел возможность изменить символ опции на - и разделитель каталогов на /, но он не застрял).

/ признано большинством API-интерфейсов на уровне программистов (во всех версиях DOS и Windows). Таким образом, вы можете часто, но не всегда избегать использования / в качестве разделителя каталогов под Windows. Заметным исключением является то, что you can't use / as a separator after the \\? prefix, который (даже в Windows 7) является единственным способом указать путь с использованием Unicode или содержать более 260 символов.

Некоторые элементы пользовательского интерфейса поддерживают / как разделитель каталогов под Windows, но не все. Некоторые программы просто передают имена файлов в базовый API, поэтому они поддерживают / и \ равнодушно. В командном интерпретаторе (в command.com или cmd) во многих случаях вы можете использовать /, но не всегда; это частично зависит от версии Windows (например, cd /windows работает в XP и 7, но не в Windows 9x). Поле ввода пути проводника принимает / (по крайней мере, от XP вверх, вероятно, потому, что оно также принимает URL-адреса). С другой стороны, стандартный диалог открытия файла rejects slashes.

Смежные вопросы