Почему Windows использовать обратные слеши в пути и Unix Слэш?

меня раздражает, что я использовал Unix в колледже и теперь работаю на стороне Windows. Какова история этого решения? Кто знает, почему так получилось?

29
задан Tom Wijsman
04.03.2023 5:21 Количество просмотров материала 3517
Распечатать страницу

2 ответа

Unix и представила / в качестве разделителя каталогов где-то в 1970 году. Я не знаю, почему именно этот персонаж был выбран; система предков Multics использовала >, но конструкторы Unix уже использовали > вместе с < для перенаправления в оболочке (см. почему корневой каталог обозначается / знак?).

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

/ распознается большинством API уровня программиста (во всех версиях DOS и Windows). Таким образом, вы можете часто, но не всегда уйти с помощью / в качестве разделителя каталогов в Windows. Заметным исключением является то, что вы не можете использовать / в качестве разделителя после \? префикс который (даже в Windows 7) является единственным способом указать путь, используя Unicode или содержащий более 260 символов.

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

97
отвечен Gilles 2023-03-05 13:09

базовый Windows API может принимать обратную косую черту или косую черту для разделения каталогов и файловых компонентов пути, но соглашение Microsoft заключается в использовании обратной косой черты и API, возвращающих пути, помещающие обратную косую черту.

MS-DOS 2.0 скопировал иерархическую файловую систему из Unix и таким образом использовал косую черту, но (возможно по настоянию IBM) добавляет обратную косую черту, чтобы разрешить путей должна быть набрана в командной оболочке, в то время как сохранение совместимости с MS-DOS 1.0 и CP / M, где косая черта была индикатором опции командной строки.

сравнить

dir/w

, который показывает текущий каталог в широком формате в отношении

dir\w

, который работает w файл в директоре dir.

ссылки:

9
отвечен Tom Wijsman 2023-03-05 15:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх