偶然發現一個按名稱排序的文件夾內,文件順序是混亂的,例如:
在一個文件夾內建立如下三個文件:
0F.txt
1A.txt
02.txt
按名稱/升序排列, 將得到上述結果,0F在最前,02在最后。
百思不得其解,同樣是0開頭,為什么02會被排在1A之后?
Win7,Win8,及Windows server 2008均按上述規則排序。
查了一下,發現微軟的網站上對此有說明:
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文件,即可直接導入注冊表。