Windows按名称排序问题

偶然发现一个按名称排序的文件夹内,文件顺序是混乱的,例如:

在一个文件夹内建立如下三个文件:

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_MACHINESOFTWAREMicrosoftWindowsCurrentversionPoliciesExplorer]

[HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentversionPoliciesExplorer]

两个路径下新建一个名为NoStrCmpLogical的字段,数据类型是DWORD,令其值为1,然后重启电脑即可。

注册表文件内容如下:

--------------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentversionPoliciesExplorer]
"NoStrCmpLogical"=dword:00000001

[HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentversionPoliciesExplorer]
"NoStrCmpLogical"=dword:00000001

--------------------------------------------------

复制虚线之间的部分(注意包含空行),另存为reg文件,即可直接导入注册表。

 

原文地址:https://www.cnblogs.com/Moosdau/p/3296384.html