C# System.IO.Directory.GetFiles为空
当我枚举“C:\Windows\System32\Tasks”时,有人能解释为什么GetFile()是空的吗 我已检查此项:C# System.IO.Directory.GetFiles为空,c#,C#,当我枚举“C:\Windows\System32\Tasks”时,有人能解释为什么GetFile()是空的吗 我已检查此项: VS以管理员身份运行 没有抛出异常 根目录中有文件 我可以复制文件(通过资源管理器)到另一个文件夹,它的工作 只是一个假设。 你有没有用过试抓块? 此文件夹可以具有权限设置,允许您拒绝访问错误,而void try catch块不会显示任何错误。这里的问题是,您正在以x86格式运行程序,而其中没有文件。(它将被重定向到C:\Windows\SysWOW64\Tasks)
- VS以管理员身份运行
- 没有抛出异常
- 根目录中有文件
- 我可以复制文件(通过资源管理器)到另一个文件夹,它的工作
- 只是一个假设。
你有没有用过试抓块?
此文件夹可以具有权限设置,允许您拒绝访问错误,而void try catch块不会显示任何错误。这里的问题是,您正在以x86格式运行程序,而其中没有文件。(它将被重定向到
C:\Windows\SysWOW64\Tasks
)
如果您将其编译为x64或任何CPU,您应该会看到这些文件。当我尝试使用Windows 10Works时。。。尝试从Windows资源管理器中以管理员身份运行EXE,看看这是否有什么不同。这有帮助吗?-您有权限访问此文件夹吗?您是否手动访问了它?可能您被重定向到C:\Windows\SysWOW64\Tasks?请解释重定向的背景,例如和。谢谢您,Matthew。这让我发疯。不知道为什么我错过了“系统32”part@ShaunVermaak这有点违反直觉,不是吗?您以x86的身份运行,但会从名为
System32
的文件夹重定向到名为SysWOW64
的文件夹。。。马修:你给我指的方向是对的。我实际上删除了“首选32位”勾号,所以现在它可以在32位和64位上工作
System.IO.Directory.GetFiles(@"C:\Windows\System32\Tasks");