如何让win10可以对大小写敏感?

例如,有a.txt。依然能够新建A.txt

阅读 8.2k
2 个回答

在文件系统中记录大小写,但是在用户层屏蔽掉大小写是为了方便用户体验。Mac也是类似的。这样导致Win32的注册表和程序内部有大量的大小写不同的字符串,最典型的是C:\Windows的大小写。所以你不可能把系统全部设置为大小写敏感的,那样的话很多程序都无法运行了。
ObCaseInSensitive只是影响系统内核,是在Win32层面之下的。设置了这个只有在POSIX子系统里是可以看出作用来。Windows Server和Windows 10里都有。而POSIX没有图形API,所以现在都是命令行程序或Bash下跑的程序。

NTFS is technically case sensitive, but Win32 is no

也就是是说 NTFS 格式是支持大小写的,但 Win 不支持。

这里的题主说:

已解决,将注册表 HKLMSYSTEMCurrentControlSetControlSession Managerkerneldword:ObCaseInsensitive 注册表项的值设为 0

貌似可以解决,但下面有人说:

win10无效,改了之后唯一的区别就是,在已有a.txt的情况下,新建A.txt,系统提示是否重命名为a(2).txt,改之前,选择“是”,会将文件改名;改之后,选“是”,没用, 继续弹出对话框

又有人评论:

要用 posix 的 flag 使用 createfile 才行,explorer 上操作似乎是不行


总之,是一件蛋疼的事。

PS: 这是我弃用 Windows 的原因之一。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题