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:如何只获取文件名,而不是完整路径? [复制]