Windows \ System32 \ drivers \ etc和GetDirectories

时间:2013-03-08 13:40:06

标签: c# io directory

有没有人知道目录枚举方面的'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));
    }
}

2 个答案:

答案 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")方法显示它。

这是documentation