Крайне важно, чтобы, если вы новичок, вы сначала потратили время на наращивание, чтобы предотвратить массу ненужных разочарований и путаницы, с которыми вы столкнетесь.
Выполните поиск в 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,@{n='SearchWord';e={$sw}}
}
# 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