Windows NTFS和区分大小写

时间:2015-11-30 12:26:23

标签: windows filesystems ntfs

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

  

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

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

2 个答案:

答案 0 :(得分:2)

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

Windows API提供了NTFS的抽象,使其显示为保留文件系统的案例,并通过CreateFile API完成此操作,几乎所有文件创建和打开请求都被路由通过。

即,文件打开或创建的区分大小写由传递给CreateFile的FILE_FLAG_POSIX_SEMANTICS标志调解。

答案 1 :(得分:0)

正如克里斯·贝克(Chris Becke)所说:

  

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

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