電腦文件名不合法是不合哪個法?| 壹讀知道

  圖片來自網路

文件名傻傻弄不清的壹堆飯 | 偷貓

壹讀小司閽 | 古戈爾

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文件名格式的別名。如果將文件拷貝到不支持長文件名的系統中,就只能見到文件的別名了。

有些規則還在使用中,比如上述不能使用的字符,還是不能用(攤手),不能重名還是不能重名。

每個世界都有它的規則,既然我們讓電腦幫我們記東西和處理東西,那就尊重一下它的規則和習慣,包容一下它的「任性」和「自私」吧!