Я создаю небольшой скрипт, который будет отображать EXE-файлы на компьютере.Powershell: Исключить многочисленные папки с помощью инструкции -notmatch
$computername = get-content env:computername
get-childitem C: -recurse | ? {$_.fullname -notmatch 'C:\\Windows'} | where {$_.extension -eq ".exe"} | format-table fullname | Out-File "\\server\incomming\$computername.txt"
Проблема в том, что -notmatch не принимает больше заявлений. Я мог бы скопировать-вставить ? {$_.fullname -notmatch 'C:\\Windows'}
и использовать для других папок, таких как Program Files (x86), Program Files и так далее. Но я не хотел бы слишком сильно раздувать сценарий.
Есть ли способ, которым я мог бы исключить многочисленные папки с помощью инструкции -notmatch?
'$ _. DirectoryName' нехорошо, вы все равно получите совпадения для файлов, например. '\ Windows \ System32' –
DirectoryName - это только папка с элементами в формате String, если вы хотите, чтобы вы были точнее, хотите заменить -notmatch на -ne и указать имя папки, то есть $ _. DirectoryName -ne" e: \ windows " –