Я хочу простой способ исключить системную папку из поисков в PowerShell.
Я использую следующий скрипт:
$mysys = 'c:\windows'
PS C:\> Get-ChildItem -path . -Include *.txt -Exclude '$mysys' -Recurse
Я в основном хочу, чтобы что-то в c:\windows было полностью проигнорировано, однако, когда я запускаю поиск, я постоянно получаю ошибки, так как он ищет в c:\windows; и в некоторых случаях также выдает результаты, которые он нашел.
Ошибка: (почему это даже происходит в c:\windows, когда я его исключил)
Get-ChildItem : Access to the path 'C:\Windows\System32\LogFiles\WMI\RtBackup' is denied. At line:1
char: 1 + Get-ChildItem -path. -Включить * .txt -Включить '$ mysys' -Recurse -Dept ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: PermissionDenied: (C:\Windows\Syst ... es\WMI\RtBackup: String) [Get-ChildItem], UnauthorizedAccessExcept ion + FullyQualifiedErrorId: DirUnauthorizedAccessError, Microsoft.PowerShell.Команды.GetChildItemCommand
Например, он включает в себя: (все это должно быть исключено) (в основном все, что находится в каталоге c:\windows)
> > Directory: C:\Windows\WinSxS\amd64_microsoft-windows-c..iser-inboxdatafiles_31bf3856ad364e35_10.0.14393.0_none_9eeac2cef7a25999
>
>
> Mode LastWriteTime Length Name
>
> ---- ------------- ------ ----
> -a---- 7/16/2016 6:42 AM 855814 hwcompat_RS1.txt
> ------ 7/16/2016 6:42 AM 1764 hwexclude_RS1.txt
> ------ 7/16/2016 6:42 AM 1327 wucompat.txt
Я в основном хочу сделать рекурсивный поиск в c:\ и затем исключить все, что я не хочу. Начиная с c:\ windows и всего, что под ним.