电脑文件名不合法是不合哪个法?| 壹读知道
2017/5/24 壹读

    

    

    

     文件名傻傻弄不清的壹堆饭 | 偷猫

     壹读小司阍 | 古戈尔

     ANGRY CLIVE:壹读君,电脑文件名命名时候,提示文件名不合法,那这是什么法?

     壹读君:咳,开说之前,先清清嗓子。毕竟,回答这个问题是要暴露年龄的。

     如果非要说这是一部什么法,最贴切的是《比尔盖茨的DOS文件系统法》,简称《FAT法》。咱们现在都在使用windows,但是在许多方面(包括用户的操作,也包括windows内核)都留着DOS的血液。

     如果想看一眼DOS长啥样,点击开始,输入cmd回车即可。Windows98用户要输入command。正是因为用它的太多了,后来改成cmd了。

    

    这么土的界面,以前是每台机必用的

     首先声明,我们主要探讨的还是Windows系统环境下的文件命名规则。

     再来我们要说明的是,我们存放文件的时候,总是自己起个自己认为有意义的名字,比如“狗蛋儿的丑照”,“讨厌老板加班的成果”之类的。然而文件名其实是两部分,一部分就是你自己起的“狗蛋儿的丑照”,还有一部分就是扩展名,也就是后面那些你可能有的明白有的不明白的英文缩写(譬如.jpg;.doc;.bat)。

     大多数情况下我们都不需要自己去添加文件的扩展名,系统会自动识别并添加的(如果你不懂,自己瞎改扩展名,文件可能会变得打不开了),但我们必须要知道,虽然我们只取了文件名,但一个文件完整的名称应为“文件名.扩展名”。

     下面来说说这个文件名都有什么具体法则要遵守。

     我们把东西存放在电脑里,程序也好,文档也好,图片也好,命名的规则都一样。于是,为了方便计算机存放、管理等,就必须要给人们制定一些规定,方便计算机识别和管理。毕竟,我们人类比计算机更明事理,更聪明嘛!

     第一类规定是为了存放。

     只要存放东西,都会涉及到容量。这里说的不是文件本身的大小,而是文件名的字数,毕竟文件名也要以目录的形式存放的。FAT给目录中的第一行都只给11个格子。

     这有点像什么呢?像大家做过的语文题目,请根据上下文写一句话,要求字数不超过11字,然后下面是一排11个格子,你多写一个字就不得分,你要是有胆写0个字那也不得分。

     给文件起名也这样,只能以8+3的形式存放,前面的8让你起一个有意义的名字,可以小于8,但不能是0,后面的3是给电脑识别的,表示哪一类型的文件。传统而经典的8+3是“autoexec.bat”。

     所以,FAT年代的第一规则就是文字名不超过8个字母,至少1个字母。

     第二类规定是为了管理。

     首先,一堆东西存在一起,要想区分他们,管理好他们,就必须不能重名。名字你任意起,但要是跟兄弟们重名了,那是不允许的。不然一叫“张三”,无数个张三出来,计算机都不知道给你哪个。再说了,计算机的世界,不允许你有双胞胎,就算是双胞胎,你也得给起个不一样的名儿,总不能都叫“王二麻子”,另一个可以叫“王大麻子”嘛!要不你自己也不方便不是?

     其次,系统也“任性”且“自私”。在DOS和windows的内核里有这样几个特殊字符,在人家那儿有特殊的用处,你就不能按你的用处来,就是如此任性!那都有哪些呢?它们分别是英文冒号(:),斜杠(\和/),英文小数点(.)。

     冒号前面那个字母就是我们常说的C盘、D盘。(当然在我那个年代是A盘和B盘)。斜杠是分隔一层一层文件夹的。小数点就是用来分隔8+3中的8和3的。

     还有几个符号,系统也是自私的留给自己,就不许你用!它们是小于号(<)、大于号(>)、还有一个是竖线符号(|,我老师管它叫“管道号”)。这是DOS时代操作电脑必用的。啥意思呢?那时候不用鼠标,干什么都得从键盘输入一行命令,在命令中除了必须指定文件名以外,还得指定让电脑干什么。而这些符号就是起这作用的,当然不可以在文件名里面使用。

     最后还有个引号,命令中表示从哪到哪是一个不可分隔的整体,我们就用引号来表示出来。

    

     在查找搜索中,最经典的就是英文问号(?)和星号(*)了。一直到现在的windows时代,我们依然在用它们。问号可以代替一个未知的字符,一个星号可以代替任意个未知的字符。

     这两个符号是为了模糊匹配、方便检索。比如,你就记得文件名里有“李狗蛋”。但是名字本身不是这个,是更多的字,如果记得是几个字,可以用“?”(这里要记得一个中文字是两个字符),不过如果你不记得,或者懒,那么一个“*”可以帮助你解决这个问题。如果你非要用这俩符号起名字,那就会有一堆文件名里都有它,它就起不到最初的作用了。电脑也不想给自己找麻烦,更想给你提供方便。

     如果你给文件取名,非要用上述符号,那系统只能“任性”的告诉你,你的文件名,违!法!了!

    

     说了这么多对于我们的限制,其实也有为了方便我们而设置的规则

     比如文件名中,英文字母的大小写。严格意义上说,对于电脑来说,大写字母和小写字母是两个不同的字。但是为了迁就我们人类的习惯,系统就将大小写统一起来了,也就是说电脑在这个时候认为A和a是一样的,你给文件起个名字叫A,再起一个a,会算作重名,但是系统显示的时候会按照你起的是大写还是小写来显示。

     如今DOS时代早已离去,而且电脑系统也从FAT升级到FAT32再到NTFS。

     有些规则已经停用了,比如8+3,现在流行的Windows操作系统已经可以使用长文件名了,目前长文件名最多可用255个英文字符,如果使用中文字符则不能超过127个汉字,而扩展名也不再只有3个字符,也有4个的,比如JEPG。Windows在创建文件时,会自动产生一个DOS文件名格式的别名。如果将文件拷贝到不支持长文件名的系统中,就只能见到文件的别名了。

     有些规则还在使用中,比如上述不能使用的字符,还是不能用(摊手),不能重名还是不能重名。

     每个世界都有它的规则,既然我们让电脑帮我们记东西和处理东西,那就尊重一下它的规则和习惯,包容一下它的“任性”和“自私”吧!

    

    http://weixin.100md.com
返回 壹读 返回首页 返回百拇医药