很多時候,我們會遇到文件夾包含空格的情況,如何去掉這令人討厭的空格呢?以下內容翻譯自微軟官網:
Windows支持的長文件名最多為 255 個字符。Windows還以8.3格式創建與MS-DOS兼容的(短)文件名,以允許基於MS-DOS或16位Windows的程序訪問這些文件。
Windows從長文件名創建短文件名遵循以下方式:
1) Windows刪除文件名中所有的非法字符和空格,非法的字符包括. " / \ [ ] : ; = ,
2) 短文件名僅可包含一個句號(.),如果采用了最后的句號之后文件名合法並且沒有空格,然后Windows會從文件名中移除其它句號。例如,Windows創建短文件名Thisis~1.txt從長文件名This is a really long filename.123.456.789.txt
另外,Windows會忽略最后的句號(譯者注:句號后面無其它字符)並使用前面一個句號。例如,Windows創建短文件名Thisis~1.789從長文件名This is a really long filename.123.456.789.
3) Windows截取文件名,如果必要的話,到6個字符並且添加一個波浪符(~)和一個數字。例如,創建唯一的文件名需要以”~1.”為結尾。重復的文件名以”~2,”,”~3,”結尾,以此類推
4) Windows截取文件的后綴名到3個字符或更少
5) Windows轉換文件名中所有的字符為大寫
需要注意的是,如果一個目錄或文件名包含一個空格,但是小於8個字符,Windows仍然會創建一個短文件名。這種行為也許導致一些問題如果你嘗試訪問網絡上的文件或目錄。為了解決這種情況,替換成一個合法的字符例如下划線(_)。這樣的話,Windows不會創建一個不同的短文件名。
例如,”Afile~1.doc”從”A file.doc”中創建,因為長文件名包含一個空格。不會從”A_file.doc”中創建一個短文件名因為文件名短於8個字符並且沒有包含空格。
短文件名”Alongf~1.txt”從長文件名 “A long filename.txt”中創建,因為長文件名超過8個字符
另外,附一個轉換的demo給需要的童鞋
