c# Directory.GetFiles() - NTFS上的多个文件
本文关键字:文件 NTFS Directory GetFiles | 更新日期: 2023-09-27 18:03:33
像这样使用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中的目录,命令行dir也无法看到。此外,我自己搜索MFT的代码显示只有一个mycompanyname实例。MFT中的scr及其父目录记录号指向C:'Windows'SysWOW64,所以我不认为硬链接混淆了这个问题。我还检查了两个目录都不是连接点。
有人能解释一下这是为什么吗?
WOW64
即Windows-on-Windows 64-bit
。
SysWOW64
用于放置32位程序。System32
用于放置64位程序。
对于32位程序,C:'Windows'System32
将始终重定向到C:'Windows'SysWOW64
。
对于64位程序,如果file不存在,C:'Windows'System32
将重定向到C:'Windows'SysWOW64
你可以把你的程序编译成x86,然后再试一次