jrs*_*tto 95 windows unix path
我在大学使用 Unix 而现在在 Windows 方面工作,这让我很恼火。这个决定背后的历史是什么?有谁知道为什么会这样?
Gil*_*il' 115
Unix/在 1970 年左右的某个时候被引入作为目录分隔符。我不知道为什么选择这个字符;祖先系统Multics的使用>,但Unix上的设计者已经使用了>一起<在外壳重定向(见为什么是一个表示的根目录/标志?)。
MS-DOS 2.0\在 1980 年代初期作为目录分隔符引入。/没有使用的原因是 MS-DOS 1.0(根本不支持目录)已经/用于引入命令行选项。它采用了/来自CP/M 的用法,后者来自VMS。你可以在 Larry Osterman 的博客上阅读更详尽的解释,解释为什么做出这个选择(MS-DOS 甚至短暂地有一个选项可以将选项字符更改为-并将目录分隔符更改为/,但它没有坚持下去)。
/大多数程序员级别的 API(在所有版本的 DOS 和 Windows 中)都可以识别它。因此,您可以经常(但并非总是)/在 Windows 下将其用作目录分隔符。一个值得注意的例外是您不能/在\\?前缀之后用作分隔符,它(即使在 Windows 7 中)是使用 Unicode 或包含超过 260 个字符指定路径的唯一方法。
一些用户界面元素支持/在 Windows 下作为目录分隔符,但不是全部。一些程序只是将文件名传递给底层 API,因此它们支持/并且\无动于衷。在命令解释器(在command.com或cmd)中,您可以/在很多情况下使用,但并非总是如此;这部分取决于 Windows 的版本(例如,cd /windows适用于 XP 和 7,但不适用于 Windows 9x)。Explorer 路径输入框接受/(至少从 XP 开始;可能是因为它也接受 URL)。另一方面,标准文件打开对话框拒绝 slashes。
Tam*_*man 10
在底层的Windows API可以接受反斜线或斜线的路径的单独的目录和文件的组成部分,但微软的惯例是用一个反斜杠和API返回路径放在反斜线英寸
MS-DOS 2.0从 Unix 复制了分层文件系统,因此使用了正斜杠,但(可能在IBM的坚持下)添加了反斜杠以允许将路径输入到命令外壳中,同时保持与MS-DOS 1.0和CP 的兼容性/M其中斜杠是命令行选项指示符。
dir/w,以宽格式显示当前目录,反对dir\w,w在dir目录中运行文件。参考: