Я использую ниже, чтобы рекурсивно перечислить все файлы в папке, содержащей $pattern
Get-ChildItem $targetDir -recurse | Select-String -pattern "$pattern" | group path | select name
Но он кажется, что оба файла списка имеют $pattern
в его имени и в его содержимом, например. когда я запускаю выше, где $pattern="SAMPLE"
я получаю:
C:\tmp\config.include
C:\tmp\README.md
C:\tmp\specs\SAMPLE.data.nuspec
C:\tmp\specs\SAMPLE.Connection.nuspec
Сейчас:
C:\tmp\config.include
C:\tmp\README.md
действительно содержит ключевые слова/текст SAMPLE, но мне все равно, мне нужна только команда, чтобы перечислять имена файлов, а не файлы с содержимым, соответствующим шаблону. Что мне не хватает?
На основании приведенных ниже ответов я также попытался:
$targetDir="C:\tmp\"
Get-ChildItem $targetDir -recurse | where {$_.name -like "SAMPLE"} | group path | select name
и
$targetDir="C:\tmp\"
Get-ChildItem $targetDir -recurse | where {$_.name -like "SAMPLE"} | select name
но он не возвращает никаких результатов.