草庐IT

ntfs-mft

全部标签

windows - NTFS在哪里存储文件属性

我目前正在开发一个文件系统并对现有文件系统进行一些研究,在我想到的文件系统中,除了通常由FS等存储的文件之外,我还想向文件添加额外的元数据(或文件属性)NTFS存储每个文件的文件名、类型、路径、大小、创建和修改日期以及所有权。特别是在NTFS中,我发现$MFT存储每个文件的属性,例如$FILENAME中的文件名和$STANDARD_INFORMATION中的时间戳,但它的其他属性(如所有者、位置、大小和类型)又如何呢?我问这个是为了了解是否可以用关于文件的额外元数据来补充像NTFS这样的FS,就像我之前说的那样,但我似乎无法理解它将已经拥有的元数据存储在哪里......

java - 使用 Java 应用程序模拟 NTFS/FAT 分区

是否可以从Java应用程序模拟Windows7+的内存分区?我想创建一个由标签组织的基于git的文件系统,它可以作为一个分区安装到Windows中(因此映射到一个分层文件夹结构中)。是否有用于构建此类任务的API/库? 最佳答案 您必须创建一些用户模式文件系统,这是操作系统特定的低级代码,Java通常不是最佳解决方案。但您可能可以通过Javanative接口(interface)使用一些库。也许这样的东西适合你:Writingausermodefilesystemforwindows?

windows - 访问非常长的文件名的 ntfs 流失败

从名称很长的文件(超过MAX_PATH个字符长,根据this使用“\\?\”前缀创建)访问备用ntfs流时遇到一点问题.我第一次认为这是我的代码错误,但后来我尝试了一个cmd命令:more它失败并显示找不到文件的错误。该文件存在并且可以读取其内容,但我无法访问读取和写入所需的流。我不希望我的软件无法处理长文件名,因此我正在寻找针对这种情况的任何解决方法。我知道我可以使用BackupReadfunction,但我不确定这个解决方案是否可以在大文件上快速运行并且它在2000中不起作用。GetShortPathName给了我同样的失败结果,还有其他可以缩短文件名的API吗?我真的不想使用短文

c++ - 如何使用C读取NTFS文件系统的图元文件

谁能告诉我如何直接访问图元文件($MFT、$Volume、$Bitmap...)?我需要从这些文件中获取信息。 最佳答案 您可以使用ioctl函数FSCTL_GET_NTFS_FILE_RECORD。 关于c++-如何使用C读取NTFS文件系统的图元文件,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/26882359/

windows - Windows + NTFS 中的文件访问时间

我想弄清楚Windows何时以及如何更新文件的文件访问时间。首先,出于性能原因,大多数Windows安装都禁用了文件访问时间,因此在仔细研究它之前,您需要做的是激活NTFS文件系统上的最后访问时间:修改key[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]值名称NtfsDisableLastAccessUpdate到DWORD0值数据(如果它当然设置为1)。如果它不存在,就创建它。阅读后FileTimesarticle在MSDN上,我仍然怀疑Windows如何更新访问时间。我的问题如下:访问时间是否在发出带

windows - 将 Subversion (SVN) 符号链接(symbolic link)文本文件转换为 NTFS 符号链接(symbolic link)的批处理脚本

我们的设置:我们混合使用WindowsXP和Windows7机器进行开发,还有一些unix服务器保存我们的Subversion(SVN)存储库并托管我们的网站。我们的网站存储在SVN存储库中,因此当需要对网站进行更改时,我们会将SVN的工作副本checkout到我们的Windows机器上。完成所有更改后,我们将工作副本提交回SVN存储库,然后bash脚本将存储库的头部部署到网络服务器。(非常标准的东西)我的问题:该网站使用(unix)符号链接(symboliclink)(无法替换)。因此检查它并从unix服务器提交工作正常并且符号链接(symboliclink)存在。但是由于我们使用的

windows - 如何打开 NTFS 元数据/系统文件 : $LogFile, $Volume,$Bitmap?

我在64位Windows7上运行。我想获取与某些NTFS系统文件关联的FileID。其中一些(“$Mft”、“$MftMirr”)我可以打开,但其他(“$LogFile”和“$Bitmap”)因“拒绝访问”错误或无效参数(“$Volume”)而失败。我试过以管理员身份执行此操作并作为本地服务运行,但它们仍然失败。我正在使用以下内容:/*openthefileforcheckingtheFileID*/h=CreateFileW(argv[i],//_In_LPCTSTRlpFileName,FILE_READ_ATTRIBUTES,//_In_DWORDdwDesiredAccess,

java - 在 NTFS 上用 Java 创建稀疏文件

这个命令应该创建一个稀疏文件:channel=Files.newByteChannel(path,EnumSet.of(CREATE,WRITE,SPARSE));但是,它只是创建一个常规(非稀疏)文件。我可以在命令行上使用fsutil手动将其转换为稀疏文件,但如何让Java运行时执行此操作?我在Windows10(NTFS)上使用Java11。 最佳答案 显然,创建稀疏文件仅适用于OpenOptionCREATE_NEW(替换任何现有文件),但不适用于CREATE(仅当文件不存在时才创建文件)。channel=Files.newB

windows - 有没有办法从 NTFS 卷的 MFT 获取文件名/位置信息?

我需要获取驱动器上所有文件的列表。我正在使用递归解决方案。但这需要很多时间。我想知道,是否可以从主文件表中获取NTFS驱动器上所有文件的名称和位置?我认为它会非常快。有什么建议吗? 最佳答案 有一个工具可以直接搜索mft,它叫ndff。我以前用过,速度非常快。大概可以做你想做的事——还有另一个工具叫做“Everything”,我猜它做同样的事情——它也使用USN更改日志来更新它的索引。 关于windows-有没有办法从NTFS卷的MFT获取文件名/位置信息?,我们在StackOverfl

windows - 在本地 NTFS 驱动器上查找回收站

我正在尝试编写一些简单的代码来返回本地驱动器上回收站的目录。看起来很简单——应该是Google上的一千个答案。还没找到:(我发现FAT和NTFS驱动器有不同的基本名称(RECYCLED和RECYCLER)。我发现'the'回收站是一个虚拟文件夹,它结合了机器上所有驱动器的回收站。我还没有找到找到C:驱动器的回收站目录的方法——即使在越南语(或任何其他非英语)机器上也是如此。(我找不到任何帖子表明“RECYCLER”是否国际化)谁能给我一个明确的答案?谢谢更新:了解CSIDL_BITBUCKET和使用它的函数。从我读过的所有内容来看,它指向一个虚拟目录,该目录是该用户在所有驱动器上删除的