偶然發現一個按名稱排序的文件夾內,文件順序是混亂的,例如:windows
在一個文件夾內創建以下三個文件:網站
0F.txtspa
1A.txtserver
02.txt排序
按名稱/升序排列, 將獲得上述結果,0F在最前,02在最後。ci
百思不得其解,一樣是0開頭,爲何02會被排在1A以後?get
Win7,Win8,及Windows server 2008均按上述規則排序。 it
查了一下,發現微軟的網站上對此有說明:io
http://support.microsoft.com/kb/319827數據類型
原來對於有數字的文件名,windows會嘗試找出數字部分,按數字大小進行排序。
上述三個文件名中,第一個提取出0(F被忽略),第二個提取出1,第三個提取出02(2),結果就是上面這樣了……
多麼愚蠢和無聊的想法啊!這居然仍是各版本Windows默認的排序方式。
可經過修改註冊表的方式使Windows按舊版的字母順序排序,方式是在
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer]
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer]
兩個路徑下新建一個名爲NoStrCmpLogical的字段,數據類型是DWORD,令其值爲1,而後重啓電腦便可。
註冊表文件內容以下:
--------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer]
"NoStrCmpLogical"=dword:00000001
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer]
"NoStrCmpLogical"=dword:00000001
--------------------------------------------------
複製虛線之間的部分(注意包含空行),另存爲reg文件,便可直接導入註冊表。