プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

Windows10でファイルの検索をする

Windows10のファイル(全文)検索は???

絶対該当ファイルがあるはずなのに見つからない、ということが多くあります。
ファイル検索は、エクスプローラの右上の「ここ」からやりますよね。
f:id:s51517765:20210703224736p:plain

あらかじめインデックスを作成しておけばできるらしいですが、インデックスを作成するのも大変(PCのリソースを使う)なのです。
どうも、最近使ったファイルに関してはインデックスが作成されるようですが、ほとんどの場合うまくいきません。
aprico-media.com

Powershellで検索出来る

カレントフォルダですべてのファイルを対象にhogeで検索

$ Select-String -Path * -Pattern 'hoge'

指定したファイルの中のみを検索

$ Select-String -Path hoge.txt -Pattern 'hoge'

ちなみにSelect-Stringslsというエイリアスがあります。

下位フォルダを含めて全文検索

$ Get-ChildItem -Path ./* -Filter * -Recurse | Select-String -Pattern 'main'

OR検索は末尾にキーワードを追加、3つ?以上も可

$ Select-String -Path "*.txt" -Pattern "hello","world"

AND検索はパイプでつなぐ

$  Select-String "hello" *.txt | Select-String "world"

キーワードの前後数行を同時に見たいとき

$ Select-String -Encoding Default -Path <ファイル名> -Pattern "キーワード" -Context 3,4

カレントフォルダの移動はLinuxと同じです。

$ cd ***

ファイルパスにスペースなどが含まれる場合はパスを" "で囲みます。

$ cd "Users\***\Documents\Visual Studio 2017\Projects"

「権限がない」と怒られるときは管理者権限でPowershellを起動します。
f:id:s51517765:20210703231234j:plain
pc-karuma.net

まとめ

ShellとはLinuxのターミナルのようなものですが、Powershellは独特の似て非なるものです。
しかし、このように使えば使える機能もあります。
私も以前はExcellのVBAスクレイピングをしていたこともありましたが「ちょっと使う」にはPowershellが便利です。