サイト管理人Blog

cloudfreeで「さぁ始めましょう♪」

Windowsでの全文検索はPowerShell

2023-11-29 記載
概要 : 全文検索はPowerShellで決まり
Keyword : Windows, 全文検索, PowerShell,

Windows10で、あるサブフォルダー配下のすべてのファイルに対して、特定の文字列がないかを調べる必要がありました。いわゆる全文検索です。
実はあたりをつけてファイルを覗いて、あるファイルには含まれていることは知っていました。
他にないか?が知りたくて、まずはエクスプローラの検索で試しますと、なにかのファイルを挙げてきましたが、注目したのは、あたりをつけて存在をみつけたファイルがあがってこないことです。
検索でインデックスを使わないと指定してもダメでした。utf-8のJSON内のテキストだったのですが、無理なんでしょうか。
全文検索のフリーソフトをいくつか試しましたが似たりよったりでした。
結局、すべてのファイルはバイナリで、文字として読むには、拡張子と文字コードありき、なので見落とすのも仕方ないのかもしれません。

で、調べていたら、PowerShellでの検索方法を知り、それを試すと、バシッと出してくれました。感激。しかも速い。インデックスも作らずで。

そのコマンドは select-string

リファレンスはこちら。
https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.utility/select-string?view=powershell-7.2

Select-String -Path C:\TargetDir -Pattern searchWord

上が基本構文。「サブフォルダもすべて」なら下のように。

Get-ChildItem C:\TargetRootDir -Recurse | Select-String -Pattern searchword

なんとなくとっつきにくいイメージをもっていましたが、PowerShellを見直しました。ちゃんと勉強しよう。UIが弱いので、ExcelからPowerShellを使う、とかがよさそうですね。

投稿へのコメントは コチラ(掲示板) へお願いします。

サイト管理人Blog