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_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文件,即可直接导入注册表。
Windows按名称排序问题的更多相关文章
- C# 模拟windows文件名称排序(使用windows自带dll)
[DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogi ...
- linux和windows文件名称长度限制
Linux文件名称的长度限制是255个字符 windows下全然限定文件名称必须少于260个字符,文件夹名必须小于248个字符. linux下文件数.文件夹数.文件名称长度的各种限制 下面測试都是在没 ...
- c#开发的程序安装时动态指定windows服务名称
转自:http://www.jb51.net/article/30549.htm 前段时间由于项目的需求,要在Windows里把同样的组件制作成多个不同名称的服务,这些服务完成类似的功能,仅需要修改业 ...
- c++采集windows操作系统名称
WINAPI windows通过c++获取操作系统主要分两种: 1. windows是8.1版本以下版本:获取操作系统可以通过windows提供的api中GetVersionEx函数来获取 2. wi ...
- windows服务名称不是单个单词的如何启动?
比如要启动 Memcached Server: 命令行中输入命令要注意大小写,大小写要保持一致,正确的写法如下: net start "Memcached Server". ...
- c#写windows服务
序言 前段时间做一个数据迁移项目,刚开始用B/S架构做的项目,但B/S要寄存在IIs中,而IIs又不稳定因素,如果重启IIs就要打开页面才能运行项目.有不便之处,就改用Windows服务实现.这篇就总 ...
- 【Windows】为节省系统资源,停掉不必要的服务
1.windows服务名称(注册表名称)和显示名称对照表如下: < 显示名称 状态 服务名称 Application Management demand AppMgmt ASP.NET Stat ...
- Windows Server 2003搭建邮件服务器
Windows Server 2003搭建邮件服务器 由于Windows Server 2003默认是没有安装我们搭建邮件服务器所需要的POP3和SMTP服务的,因此需要我们自己来安装.方法如下: 1 ...
- 创建寄宿在Windows服务中的WCF服务
1.创建Windows服务项目 2.Server1改名为你想要的名称,比如WinServer 3.在项目中新建一个WCF文件夹,用于存放wcf服务文件. 注:在WcfServer类的上面还要添加 [S ...
随机推荐
- shell脚本对多端口进程kill并重启进程
#!/bin/bash export LOG_FILE='/data/log/search' spider_search_pid=`ps aux|grep flask_web_search|grep ...
- 转载:linux系统下SVN同步文件到WEB目录
SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统. 如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发.测试更加便捷.利用SVN的hook功能就能实现将SVN服务器 ...
- C#调用 oracle存储过程
C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例: /// <summary> /// 判断物料类型是不是总部管控 /// </summa ...
- 【转】火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版
原文地址:https://www.cnblogs.com/fwc1994/p/5884115.html 火星坐标 火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地 ...
- Calendar类经常用法 日期间的转换 set方法有巨坑
今天发现项目的工具类方法有个bug,并且还能迷惑你的bug,刚開始也是非常迷惑,由于这个bug之前出现过,可是过了两天就自己好了.今天又出现了.哦对,今天是 2017年3月31日,之 ...
- C++ opencv高速样例学习——读图显示
1.关键函数 1. 读入图片 imread(图片或位置,显示格式)默觉得:IMREAD_COLOR 显示格式: IMREAD_UNCHANGED =-1 // 8bit, color or no ...
- CentOS — MySQL备份 Shell 脚本
原文链接:http://www.cnblogs.com/bruceleeliya/archive/2012/05/04/2482733.html 新建一个 Shell 脚本文件 vi /home/wo ...
- SecureCRT终端上使用spark-shell时按退格键无反应的解决方法
问题:用SecureCRT远程连接至Spark集群,启动spark-shell却发现输错命令后却无法用退格键删除. 解决方法: 第一步: 在SecureCRT的菜单栏选择“OPtions(选项)”按钮 ...
- emacs 中使用git diff命令行
在shell中执行git diff命令,常常会看到例如以下警告信息: terminal is not fully functional 事实上非常easy,配置一下就可以. git config -- ...
- Android App常规测试内容
转自:https://mp.weixin.qq.com/s?__biz=MzU0NjcyNDg3Mw==&mid=2247484053&idx=1&sn=116fe8c7eed ...