2011年5月1日日曜日

◆ディレクトリー配下のファイルの中身から文字列を検索する

エクスプローラの検索ボックスで探せばすぐ見つかる。
と、思ったのだがこれがまた見つからない。
どうもファイル名だけで検索している感じだ。

中身を検索するときどうするの?
っと検索オプションなどを探してみたが見つからない。

???

まぁ良いか。とも思ったが気を取り直して調べてみると、どうやらINDEXを作っていない場所では中身まで検索しないのがデフォルトっぽい。
フォルダのオプションで中身まで検索する指定にすれば良いらしいがなんとなく面倒。

INDEXを作れば何も問題ないのだろうが、めったに検索しないのにいつもINDEX化しておくのもちょっと気が引ける。
(しかもINDEXが必要なほど範囲を広げた検索はめったにやらない。)

という事でやっぱりここはPowershellで。

dir D:\MyTest\DHTMLサンプル\part2\* -Recurse |
    Select-String "カーソル" -Encoding default

なんてことはないが、Encodingを意識する必要があるのはちょっと面倒かな。
エクスプローラならきっと自動で判別するんだろうな・・・。
(暇があったら自動判定しながら検索するなんてのもやってみたい)

ちなみに、今回検索するファイルは以下のように階層が決まった構成になっているので再帰するまでもないかも。
image

こんな感じのほうが効率的かもしれない。

Resolve-Path D:\MyTest\DHTMLサンプル\part2\*\*.htm |
    Select-String "カーソル" -Encoding default -Path {$_}

0 件のコメント:

コメントを投稿