0

以下不返回文件和目录的完整列表:

IEnumerable<FileSystemInfo> files = new DirectoryInfo("C:\\Windows\\System32\\drivers").EnumerateFileSystemInfos("*", SearchOption.AllDirectories);

该应用程序以管理员身份运行。没有额外的文件过滤器驱动程序。

例如,如果我运行:

foreach (FileSystemInfo file in files)
{
    Console.WriteLine(file.Name);
}

我得到:

en-US                                             
gm.dls                                            
gmreadme.txt                                      
UMDF                                              
wimmount.sys
bfe.dll.mui                                       
ndiscap.sys.mui                                   
pacer.sys.mui                                     
qwavedrv.sys.mui                                  
scfilter.sys.mui                                  
tcpip.sys.mui 

我不知道为什么它不会输出所有目录和文件。

4

1 回答 1

1

在 64 位机器上,文件系统(和注册表)的某些部分是虚拟化的。在我看来,您在 64 位机器上运行,并且您在构建中以 x86(或具有“首选 32 位”设置的 AnyCPU)为目标。在 64 位机器上的 32 位进程中,C:\Windows\System32被重定向到C:\Windows\SysWOW64. 如果您查看您的C:\Windows\SysWOW64\drivers文件夹,您将准确地看到您在输出中看到的文件。

于 2015-05-18T19:08:51.017 回答