c#Directory.GetFiles() - NTFS上的多个文件

时间:2014-05-15 09:45:08

标签: c# ntfs getfiles ntfs-mft

像这样使用System.IO.Directory.GetFiles()

string[] fileFullPaths1 = Directory.GetFiles(@"C:\Windows\System32", "mycompanyname.scr");
string[] fileFullPaths2 = Directory.GetFiles(@"C:\Windows\SysWOW64", "mycompanyname.scr");

我找到以下两个文件:

  • C:\ Windows \ System32下\ mycompanyname.scr
  • C:\的Windows \ Syswow64资料\ mycompanyname.scr

Windows资源管理器无法在C:\ Windows \ System32中看到一个,也无法在命令行目录中看到。此外,我自己的搜索MFT的代码显示MFT中只有一个mycompanyname.scr实例,其父目录记录号指向C:\ Windows \ SysWOW64,所以我认为硬链接不会混淆问题。我还检查了两个目录都不是连接点。

有人可以解释一下这是为什么吗?

1 个答案:

答案 0 :(得分:0)

WOW64表示Windows-on-Windows 64-bit

SysWOW64用于放置32位程序 System32用于放置64位程序。

对于32位程序,C:\Windows\System32将始终重定向到C:\Windows\SysWOW64 对于64位程序,如果文件不存在,C:\Windows\System32将被重定向到C:\Windows\SysWOW64

您可以将程序编译为x86,然后重试。