有没有人知道目录枚举方面的'etc'有什么特别之处,还有其他人喜欢它以及如何绕过它是不可见的吗?
public class Foo
{
[Test]
public void Etc()
{
var etc = new DirectoryInfo(@"C:\Windows\System32\drivers\etc");
Assert.True(etc.Exists);
/* Expected: not <empty> But was: <empty> */
Assert.IsNotEmpty(etc.Parent.GetDirectories(etc.Name));
}
}
答案 0 :(得分:3)
您在64位计算机上以32位进程运行代码。你会看到file system redirector
的影响 C:\Windows\system32\drivers\etc
未重定向(记录为免于重定向),对于32位或64位进程,C:\windows\system32\drivers\etc
也是如此。
但是当你升级到C:\windows\system32\drivers
时,如果你在32位进程中运行,则会被重定向到C:\Windows\SysWow64\drivers
。该目录下没有etc
目录。
答案 1 :(得分:0)
嗯......这可能是一个权限问题(可能是读取权限),但如果是这种情况,您可能会收到错误。
查看是否使用Directory.GetDirectories(@"C:\Windows\System32\drivers")
方法显示它。