【问题标题】:Windows NTFS and case sensitivityWindows NTFS 和区分大小写
【发布时间】:2016-03-04 02:13:40
【问题描述】:

根据Wikipedia,NTFS 允许使用不同大小写的两个相似名称(如 Readme.txt 与 readme.txt),并且只有 windows 文件 API 才能阻止。

当前的 Windows 文件系统,如 NTFS,区分大小写;即一个 readme.txt 和一个 Readme.txt 可以存在于同一个目录中。但是,Windows 应用程序中用于文件访问的 API 不区分大小写,从应用程序的角度来看,这使得文件名不区分大小写。因此,应用程序只能访问文件名只是大小写不同的文件之一,如果提供的文件名不明确,某些命令可能会失败

来自 Linux 我问自己两种文件都存在的可能性是什么,并且一个人只能访问其中一个文件,这使其成为理想的安全问题。 “Windows API”是什么意思。还有其他方法可以访问那些重复的文件吗?可以直接使用磁盘驱动(格式驱动)访问文件系统吗?

【问题讨论】:

    标签: windows filesystems ntfs


    【解决方案1】:

    NTFS 是区分大小写的文件系统,将名称相同但大小写不同的文件视为不同的文件。

    Windows API 提供了 NTFS 的抽象,使其看起来像一个保留大小写的文件系统,它通过 CreateFile API 实现这一点,几乎所有文件创建和打开请求都通过该 API 路由。

    也就是说,文件打开或创建的大小写敏感性由传递给 CreateFile 的 FILE_FLAG_POSIX_SEMANTICS 标志介导。

    【讨论】:

      【解决方案2】:

      正如克里斯·贝克所说:

      NTFS 是区分大小写的文件系统,将名称相同但大小写不同的文件视为不同的文件。

      幸运的是,如果您现在想要拥有大写和小写文件,新的 Windows 10 开发人员更新允许您在某些文件夹中启用该功能,以用于开发目的。我只是警告您不要依赖该功能,因为较旧的 Windows 版本不支持它,而且我不知道会发生什么。在此处查看操作方法:https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10/

      【讨论】:

        猜你喜欢
        • 2013-03-06
        • 2020-02-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-20
        • 1970-01-01
        • 2011-03-08
        相关资源
        最近更新 更多