像这样使用System.IO.Directory.GetFiles()
string[] fileFullPaths1 = Directory.GetFiles(@"C:\Windows\System32", "mycompanyname.scr");
string[] fileFullPaths2 = Directory.GetFiles(@"C:\Windows\SysWOW64", "mycompanyname.scr");
我找到以下两个文件:
Windows资源管理器无法在C:\ Windows \ System32中看到一个,也无法在命令行目录中看到。此外,我自己的搜索MFT的代码显示MFT中只有一个mycompanyname.scr实例,其父目录记录号指向C:\ Windows \ SysWOW64,所以我认为硬链接不会混淆问题。我还检查了两个目录都不是连接点。
有人可以解释一下这是为什么吗?
答案 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,然后重试。