Крайне важно, чтобы, если вы новичок, вы сначала потратили время на наращивание, чтобы предотвратить массу ненужных разочарований и путаницы, с которыми вы столкнетесь.
Выполните поиск в Microsoft Virtual Academy на PowerShell и YouTube, чтобы получить бесплатное видео-обучение.
Вот некоторые другие ресурсы и советы:
- Бесплатные электронные книги доступны на этом сайте
- Прочитайте полный файл справки для любого командлета, который вы пытаетесь использовать
- Практика с примерами
- Прочитайте файл справки еще раз
- Подберите несколько хороших книг, например, «PowerShell за месяц обедов» .
- На веб-сайтах Microsoft и многих других есть много бесплатных электронных книг PowerShell.
Смотрите также: Руководство по выживанию PowerShell
Что касается конкретного примера по вашему вопросу. Как насчет этого подхода?
$searchWords = 'Hello','Client' Foreach ($sw in $searchWords) { Get-Childitem -Path "d:\temp" -Recurse -include "*.txt","*.csv" | Select-String -Pattern "$sw" | Select Path,LineNumber,@} } # Partial Results Path LineNumber SearchWord ---- ---------- ---------- D:\temp\Duplicates\BeforeRename1\PsGet.txt 157 Hello D:\temp\Duplicates\BeforeRename1\PsGet.txt 161 Hello D:\temp\Duplicates\BeforeRename1\StringText.txt 1 Hello D:\temp\Duplicates\PoSH\PsGet.txt 157 Hello D:\temp\Duplicates\PoSH\PsGet.txt 161 Hello D:\temp\Duplicates\PoSH\StringText.txt 1 Hello ... D:\temp\Duplicates\BeforeRename1\PoSH-Get-Mo... 108 Client D:\temp\Duplicates\BeforeRename1\Powershell ... 12 Client D:\temp\Duplicates\BeforeRename1\Powershell ... 15 Client ... D:\temp\Duplicates\BeforeRename1\WindowsFeat... 92 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 94 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 149 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 157 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 191 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 239 Client D:\temp\Duplicates\BeforeRename1\WindowsFeat... 241 Client