# ログファイルのパス
$logFilePath = "C:\path\to\logfile.txt"
# 検出するキーワードと処理のマッピング
$keywords = @{
"キーワード1" = {
# キーワード1が検出された場合の処理
Write-Host "キーワード1がログファイル内で見つかりました。"
# ここにキーワード1が検出された時の処理を追加する
}
"キーワード2" = {
# キーワード2が検出された場合の処理
Write-Host "キーワード2がログファイル内で見つかりました。"
# ここにキーワード2が検出された時の処理を追加する
}
# 追加のキーワードと処理をここに追加する
}
# ログファイルを読み込み、キーワードの検出と対応する処理の実行
$logContent = Get-Content -Path $logFilePath -Raw
foreach ($keyword in $keywords.Keys) {
if ($logContent -match $keyword) {
& $keywords[$keyword]
}
}
【解説】
$keywords
という連想配列を使用して、キーワードとそれに対応する処理をマッピングしています。キーワードと処理の組み合わせは$keywords
変数に追加できます。
キーワードがログファイル内で検出されると、対応する処理が実行されます。各キーワードの処理は、# ここにキーワードXが検出された時の処理を追加する
のコメントの下に追加してください。
複数のキーワードを追加する場合は、$keywords
変数に追加のキーワードと処理を追加してください。キーワードと処理は連想配列の形式で追加
※忘備録、使うときは自己責任
参考文献
Windows PowerShell逆引きハンドブック | 蒲生睦男 | 工学 | Kindleストア | Amazon