Windows用户对\字符都不陌生,它是路径分隔符,同时也是C风格字符串的换码符。(正斜线和反斜线很容易搞混,交流时不妨称作撇和捺。)
该符号由Bob Bemer发明,最初用于在ALGOL语言中构造/\和\/符号,也就是逻辑与和或。此人亦是ASCII制定者之一、换码序列(ESCape)的发明者。
DOS 1.0并没有层级目录功能。2.0主要针对具有10M硬盘的IBM PC/XT开发,于是开始引入层级目录。但DOS受CP/M和各种DEC系统的影响,/字符已被用作命令选项开关。尽管可以选择DEC风格的“Volume:<Directory.Subdirectory>FileName.Ext”形式,但用惯了Xenix的微软员工更倾向于Unix风格路径。一个很有希望的方案是用:(冒号),因为当时已有其它系统用这个符号,并且和已有的盘符加文件名的A:FileName.Ext形式一致。不过,IBM否决了此提案,因为输入冒号需要按shift键。所以,不用按shift且最接近/的,也就只有\了。
但微软的工程师对此并不满意,并试图证明使用Unix风格路径完全可行。因此,DOS其实同时支持了\和/作为路径分隔符,并在CONFIG.SYS里添加了一个命令SWITCHAR用来指定将命令选项开关符号改为unix风格的-(连字符)。遗憾的是,IBM并未接受该方案。之后,此功能被保留并严格保密,以防IBM发现后要求去除。5年之后,IBM终于发现了这个隐藏特性,但那时原来的开发人员都已经不在项目里了。
该符号由Bob Bemer发明,最初用于在ALGOL语言中构造/\和\/符号,也就是逻辑与和或。此人亦是ASCII制定者之一、换码序列(ESCape)的发明者。
DOS 1.0并没有层级目录功能。2.0主要针对具有10M硬盘的IBM PC/XT开发,于是开始引入层级目录。但DOS受CP/M和各种DEC系统的影响,/字符已被用作命令选项开关。尽管可以选择DEC风格的“Volume:<Directory.Subdirectory>FileName.Ext”形式,但用惯了Xenix的微软员工更倾向于Unix风格路径。一个很有希望的方案是用:(冒号),因为当时已有其它系统用这个符号,并且和已有的盘符加文件名的A:FileName.Ext形式一致。不过,IBM否决了此提案,因为输入冒号需要按shift键。所以,不用按shift且最接近/的,也就只有\了。
但微软的工程师对此并不满意,并试图证明使用Unix风格路径完全可行。因此,DOS其实同时支持了\和/作为路径分隔符,并在CONFIG.SYS里添加了一个命令SWITCHAR用来指定将命令选项开关符号改为unix风格的-(连字符)。遗憾的是,IBM并未接受该方案。之后,此功能被保留并严格保密,以防IBM发现后要求去除。5年之后,IBM终于发现了这个隐藏特性,但那时原来的开发人员都已经不在项目里了。