我个人认为 NTFS 不区分大小写,因为您可以输入 cmd、CMD、cMd 甚至 CmD,并且仍会获得命令提示符。但是,为什么在 期间CHKDSK x: /f /r
,它有时会修复某些文件中的大写字母?如果它不关心大小写,那么它就不应该关心这一点,并且 CHKDSK 不应该检查它实际上是 CMD 还是 cmd。我说得对吗?它在文件系统中实际上在哪里重要?
答案1
文件系统的大小写敏感性与操作系统的大小写敏感性是两个不同的问题。最新的 Windows 版本基于 NT 内核,它继承了非 NT Windows 95 甚至 MS-DOS 的许多特性。与 NT 内核一样,文件系统 NTFS 也被设计为区分大小写——符合 POSIX 标准。
尽管 Win32 子系统不支持仅因大小写不同而不同的文件名,但可以使用较低级别的系统调用来创建这些文件。
答案2
实际上您所询问的并不是 NTFS。
NTFS 是文件系统。您的问题实际上是关于 Windows 命令 shell 的大小写敏感性。它们完全不同。Windows 资源管理器是一个图形命令 shell。通过输入cmd
(例如在“开始”|“运行”中),您告诉 Windows 命令 shell 执行该命令cmd
(它本身实际上是另一个命令 shell,但基于命令行而不是图形)。
同样,CHKDSK 不会对您是否使用了 CMD 或 cmd 进行任何检查。CHKDSK 只知道您传递给它的参数,在本例中为 x:、/f 和 /r。
至于 CHKDSK“修复大写”,我不太清楚你的意思。
答案3
我怀疑提问者声称 chkdsk.exe 正在“修复某些文件中的大写字母”实际上是由某些情况下出现的 CHKDSK 消息提示的:
纠正大写文件中的错误
基本上,这是由 Windows XP 版本的 chkdsk.exe 针对已在更高版本的 Windows 中格式化的 NTFS 卷运行所致,如在基于 Windows XP 或 Windows Server 2003 的计算机上运行 Chkdsk.exe 时出现错误消息:“正在更正大写文件中的错误”。结果是,这实际上不是一个错误,并且与区分大小写无关。