繁体   English   中英

DirectoryInfo.GetFiles()不返回所有文件

[英]DirectoryInfo.GetFiles() Not returning all files

我只是尝试使用自己的文件夹浏览器。 我注意到当我查看Windows 7中的System32文件夹时,我得到了一些奇怪的结果。 这是代码:

DataTable dt=new DataTable();
string Folder="C:\\Windows\\System32";
DirectoryInfo DI = new DirectoryInfo(Folder);
foreach (FileInfo FI in DI.GetFiles())
{
    DataRow Row = dt.NewRow();
    if(FI.Name== "accelerometerdll.DLL")
    {

    }
    Row["Name"] = FI.Name;
    Row["Created"] = FI.CreationTime;

    Row["Size"] = FI.Length;
    dt.Rows.Add(Row);
}
dataGridView1.DataSource = dt;

运行时,文件列表不完整。 与Windows资源管理器相比,文件总数减少了400多个文件。

只需检查名为“accelerometerdll.dll”的文件即可尝试解决此问题。 该文件绝对位于System32文件夹中。 我可以在资源管理器中看到它,当我进行DIR时,我可以在命令窗口中看到它。 然而它永远不会出现在我的数据表中。 这种情况从未得到满足。 就像它简直看不见一样。 我尝试以管理员身份运行此操作并获得相同的结果。

更令人不安的是,它确实显示了一个名为“12520437.cpx”的文件,我无法在资源管理器或命令窗口中看到它。 它似乎是在SysWOW64文件夹而不是System32文件夹???

我的主要目标是显示浏览器在打开任何文件夹时显示的相同文件。

有任何想法吗?

有必要根据知识渊博的响应关闭prefer 32位编译器指令。

更多信息可在此处获得:

文件系统重定向器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM