缺少目录和文件信息
Missing directory and file info
以下未返回文件和目录的完整列表:
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
我很困惑为什么它不会输出所有的目录和文件。
在 64 位机器上,文件系统(和注册表)的某些部分是虚拟化的。在我看来,您是 运行 在 64 位机器上,并且您的构建目标是 x86(或具有 "Prefer 32-bit" 设置的 AnyCPU)。在 64 位机器上的 32 位进程中,C:\Windows\System32
被重定向到 C:\Windows\SysWOW64
。如果您查看 C:\Windows\SysWOW64\drivers
文件夹,您会准确地看到您在输出中看到的文件。
以下未返回文件和目录的完整列表:
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
我很困惑为什么它不会输出所有的目录和文件。
在 64 位机器上,文件系统(和注册表)的某些部分是虚拟化的。在我看来,您是 运行 在 64 位机器上,并且您的构建目标是 x86(或具有 "Prefer 32-bit" 设置的 AnyCPU)。在 64 位机器上的 32 位进程中,C:\Windows\System32
被重定向到 C:\Windows\SysWOW64
。如果您查看 C:\Windows\SysWOW64\drivers
文件夹,您会准确地看到您在输出中看到的文件。