Directory.GetFiles 不返回文件

Posted

技术标签:

【中文标题】Directory.GetFiles 不返回文件【英文标题】:Directory.GetFiles Not returning a file 【发布时间】:2012-05-15 12:43:37 【问题描述】:

当我执行以下代码时,我在 c:\windows\System32 中手动创建了一个名为 AAAAA.txt 的文本文件:

var sys32Files = Directory.GetFiles(@"C:\windows\System32");

它返回一堆文件,但 AAAAA.txt 不在该列表中。 AAAAA.txt 的所有权限都与返回的文件相同。

有人能解释一下这里可能是什么问题吗?

是的,我正在以管理员身份运行。

【问题讨论】:

您使用的是 x64 操作系统吗? 是的,其他目录似乎也可以正常工作 这就是为什么。 windows 将重定向到另一个 system32 目录。 【参考方案1】:

您有一台 64 位机器并且正在运行一个 32 位进程。 file system redirector 表示C:\Windows\system32 被重定向到C:\Windows\SysWOW64。如果要在 C:\Windows\system32 中查找文件,可以使用 C:\Windows\sysnative 别名。或者编译为 64 位。

当然,您首先不应该在系统目录中创建文件。它属于 Windows,您应该别管它。

【讨论】:

感谢大卫和丹尼尔,他们回答了我的问题。

以上是关于Directory.GetFiles 不返回文件的主要内容,如果未能解决你的问题,请参考以下文章

Directory.GetFiles()获取多个类型格式的文件

C# Directory.GetFiles()获取文件时如果是根目录时有隐藏文件则报错的处理

Directory.GetFiles(path, ".txt", SearchOption.AllDirectories);不提供文件

Directory.GetFiles:如何只获取文件名,而不是完整路径? [复制]

Directory.GetFiles 有效,Directory.GetDirectories 不在同一目录中

c# 将 Directory.GetFiles 添加到 Zip 文件