Get-ChildItem не показывает все файлы в папке - PullRequest
0 голосов
/ 17 марта 2012

Когда я вызываю Get-ChildItem в PowerShell, он возвращает только несколько файлов, которые существуют в каталоге.Это папка драйвера, поэтому я попытался использовать параметр -Force на тот случай, если они были скрыты, но безуспешно.

Хотя это интересно, потому что он отлично работает на моей 32-битной Windows 7, но не на 64-битной,Есть идеи?

1 Ответ

4 голосов
/ 18 марта 2012

Я полагаю, что PowerShell показывает вам все, однако папка, которую вы просматриваете в приглашении x86 PowerShell, - это не то, что вы думаете.Каталог, который вы на самом деле просматриваете, находится в C: \ Windows \ SysWow64 \ Drivers, а не на самом деле C: \ Windows \ System32 \ Drivers.Это связано с функцией Windows (Vista и выше) для 32-разрядных процессов, работающих в 64-разрядной ОС, называемой виртуализацией (в частности, File System Redirector ).При запуске 64-разрядного приглашения PowerShell виртуализация не используется, поэтому вы видите настоящий каталог C: \ Windows \ System32 \ Drives.

В 32-разрядном приглашении PowerShell вы можете увидеть «настоящий» C: \ windows \ system32 \ drivers dir, используя этот путь:

Get-ChildItem C:\Windows\SysNative\Drivers

...