不久前,我需要弄清楚如何按十六进制顺序对文件进行排序。我在以下网址找到了一些非常有用的信息:这很棒的答案:
通过 regedit 将“NoStrCmpLogical”添加为 DWORD 并将其值添加为“1”,确实可以使 Windows 资源管理器正确对十六进制值进行排序,但它需要进入:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
结果是我的文件现在按十六进制顺序排序:
虽然上图所示的文件排序是预期的行为,但我没想到我的文件夹中会发生这种情况:
如上图所示,这些文件夹的顺序似乎没有以十六进制显示。我想这可能与文件夹编号前的前缀有关,所以我测试了对一些名称中没有前缀的目录进行排序,但结果是一样的:
所以我的问题是这样的;
如何保留文件的十六进制文件排序,同时保留目录的默认显示排序?
答案1
您的两种情况并不相同:在第一种情况下,所有数字的位数都相同,但在第二种情况下,所有数字的位数都不同。
您所看到的是正确的行为,因为空白的(十六)十进制值低于数字,并且无法更改。
如果您希望第二种情况与第一种情况的行为相同,则需要注意所有数字的长度都相等。即使生成文件夹的程序不受您的控制,您也可以稍后重命名文件夹。如果您需要批量重命名,可以使用实用程序来执行此操作。
答案2
抱歉撤销哈里麦克' 接受的答案,但实际上我找到了一个解决方案,可以让我按照我呈现的方式对文件进行排序,并按照我询问的方式对文件夹进行排序。
为了正确显示缺少第二位数字的文件夹,我们需要做的就是在 Windows 文件资源管理器列中按“类型”对它们进行排序: