2014年2月27日

【PowerShell】サブフォルダのファイルも含めて文字列を検索する



指定した文字列を含んだファイルを探すとき、たいていの場合サブフォルダも含んだ状態で検索すると思うのですが、そういった場合は次のように行います。


Get-ChildItem . -include *.txt -Recurse -Force | Select-String "たぬき" -Encoding default


はじめの

Get-ChildItem . -include *.txt -Recurse

は、現在のディレクトリとそのサブディレクトリ内にある.txtファイルを全て取得しています。

ドット (.) は現在のディレクトリを表しています。
Includeはファイル名の拡張子を指定しています。
Recurseは再帰的にオブジェクトを取得することを意味します。
また、Forceを付けることにより隠しファイルも取得されます。


そして、取得したオブジェクトをパイプラインでSelect-Stringに渡しています。

うしろに付いている -Encoding defaultは日本語(S-JIS)を扱う場合のパラメータです。






<関連記事>
【PowerShell】ファイル検索
【PowerShell】ファイルから文字列を検索する
【PowerShell】2つのファイルを比較する
【PowerShell】ファイルを読み込む
【PowerShell】ファイル作成



スポンサーリンク