下面描述的行为发生在 Windows 7 系统和 Windows XP 上。我们在双语环境中操作 - 英语和希伯来语。
当我们在 Windows 资源管理器中按名称对文件进行排序时,它们的列出顺序并不是我们期望的。以下是按 Windows 资源管理器排序的文件名列表(所有文件都有 .pdf 后缀):
1G110033H-PP 19C050G-PP-ORB 19C050H-PPRM 19C100H-PPRM 19C-MBPS-PP 19C-MBPS-PP-1 29AAC050-PP 29AAC100-PP 29AAC100-PPUL 29B004064-PP 101AC050-PP 101AC100-PP 101B100-PPE 1091003G-PPFSUL 10108033G-PPSA 10125033H-PPM
在我看来,首先根据名称中第一个字母的位置对项目进行排序,然后在这些组内按“正常”字母数字顺序对它们进行排序。
也就是说,所有在第一个位置上有字母字符的文件都位于列表顶部,然后是第二个位置上有第一个字母字符的文件,然后是第三个位置上有第一个字母字符的文件,依此类推。
另一种看待这个问题的方式是,在由数字和字母组成的文件名中,排序将名称中的第一组数字视为主要排序节点,而名称的其余部分则作为次要排序节点。
现在我理解了排序逻辑,这不是什么大问题,但我想知道为什么会发生这种情况?
答案1
默认情况下,较新的排序顺序将文件和文件夹名称中的字符串视为数字内容,不是文本. 文件夹和文件名称中的数字是根据数值排序。
在下面的例子中,请注意以下名称包含数字的文件是如何排序的。
Windows Vista、Windows XP 和 Windows Server 2003
5.txt
11.txt
88.txt
在这个例子中,11
是一个数值较高值大于5
。因此,11.txt
当您按名称对文件夹进行排序时, 会列在 5.txt 之后升序。
来源:Windows Vista、Windows XP 和 Windows Server 2003 中名称包含数字的文件和文件夹的排序顺序与 Windows 2000 中的排序顺序不同
替代链接https://www.betaarchive.com/wiki/index.php/Microsoft_KB_Archive/319827
答案2
简单来说:
添加密钥 HKLM\Software\Microsoft\Windows\Currentversion\Policies\Explorer
将 DWORD 值 NoStrCmpLogical 设置为 1
重新启动资源管理器窗口
答案3
如果你更喜欢使用组策略(而不是手动编辑注册表)关闭数字排序选项Windows 文件资源管理器,您可以使用组策略编辑器(gpedit.msc
)修改下列策略项之一(即针对特定用户或整个机器):
> 计算机配置(或...用户配置)
> 管理模板
> Windows 组件
> 文件资源管理器
• 关闭文件资源管理器中的数字排序描述
(来自 Windows 10 策略项元数据)
此策略设置允许您按字面顺序(如 Windows 2000 及更早版本)对文件名进行排序,而不是按数字顺序排序。如果启用此策略设置,文件资源管理器将按文件名中的每个数字对文件名进行排序(例如,111 < 22 < 3)。如果禁用或未配置此策略设置,文件资源管理器将按增加的数字值对文件名进行排序(例如,3 < 22 < 111)。