Voglio un modo semplice per escludere la cartella di sistema dalle ricerche in PowerShell.
Uso il seguente script:
$mysys = 'c:\windows'
PS C:\> Get-ChildItem -path . -Include *.txt -Exclude '$mysys' -Recurse
Fondamentalmente voglio che qualsiasi cosa in c: \ windows venga completamente ignorata, tuttavia, quando eseguo la ricerca, ricevo continuamente errori mentre cerca in c: \ windows; e in alcuni casi fornisce anche risultati trovati.
Errore: (perché sta andando anche sotto c: \ windows quando l'ho escluso)
Get-ChildItem : Access to the path 'C:\Windows\System32\LogFiles\WMI\RtBackup' is denied. At line:1
char: 1 + Get-ChildItem -path. -Include * .txt -Exclude '$ mysys' -Recurse -Dept ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoriaInfo: PermissionDenied: (C: \ Windows \ Syst ... es \ WMI \ RtBackup: String) [Get-ChildItem], UnauthorizedAccessExcept ion + FullyQualifiedErrorId: DirUnauthorizedAccessError, Microsoft.PowerShell.Commands.GetChildItemCommand
Ad esempio, include: (dovrebbe essere escluso tutto) (praticamente tutto sotto 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
Fondamentalmente voglio fare una ricerca ricorsiva sotto c: \ e quindi escludere tutto ciò che non voglio. A partire da c: \ windows e tutto sotto di esso.