嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > Windows 不区分大小写

Windows 不区分大小写

背景

之前就看过说 Windows 不区分大小写,但平时用得少倒也没什么体验,没想到还真能踩一次坑。

上周有同事找我帮忙看个问题,说是配置修改后不生效。排查了下发现编译确实成功了,但烧录进板子的固件包却还是旧固件包。

最终发现是路径下存在名字仅大小写不同的两个文件夹,xxxAxxxaxxxA 是他顺手备份时改的,xxxa 才是真正每次编译都会更新的目标文件夹。

这个在 Linux 上没什么问题,但映射到 Windows 上之后就混乱了,明明用烧录工具去选中了 xxxa 下的新文件,但工具真正读取到的却是 xxxA 下的旧文件,自然修改就不能生效了。

其他

据说 Windows 是为了兼容 Dos,才没有区分大小写,后续就一直不区分了。

Linux 则是一直区分大小写的。Mac 则可以在制作分区时选择此分区是否要区分大小写。

Win10 引入了 WSL,如上所述 Linux 是需要区分大小写的,为此微软给  NTFS 文件系统加了个 SetCaseSensitiveInfo 标志,可以支持在文件夹级别启用或禁用。启用之后,Windows 程序也可以对这个文件夹下的文件区分大小写了。