エクスプローラーの代わりにPowerShellでファイルを検索する【Windows10】

Windowsのエクスプローラーでのファイル検索が遅かったので、他に方法はないか調べたところ、
PowerShellでもできるということが分かりました。

PowerShellはWindows10に標準で入っているのですぐに試せます。

目次

PowerShellの利点

  • エクスプローラーよりも検索が早い(ときもある)
  • ワイルドカード以外にも様々な検索条件が設定できる
  • オプションで検索結果の表示を変更できる

PowerShellを起動する

Windowsの検索バーで「PowerShell」と打ちましょう。

「ISE」が付いているものと付いていないものがあります。
どちらでもOK。

ISE付きはデバッグができるので、長いコードを書くときは便利です。

PowerShellでファイル検索

基本の書き方

Get-ChildItem “検索したいファイル名”

Mドライブにあるテキストファイルをすべて検索する場合

Get-ChildItem M:*.txt

上記のように書くと、テキストファイルが表示されます。

カレントディレクトリがCドライブなので、コマンドではM:\を入れてます。

検索する前に、cd M:でカレントディレクトリをMドライブにすればM:\は要りません。

社内ファイルサーバで検索したい場合は、サーバのアドレスを指定すればOK

サブディレクトリ配下も検索する場合は「-Recurse」オプション

Get-ChildItem M:*.txt -Recurse

Mドライブにフォルダがあるとき、そのフォルダの中身まで検索してくれます。

指定した拡張子で絞り込む「-Include」オプション、結果に含ませないときは「-Exclude」

Get-ChildItem M:\ -Include *.pdf, *.txt -Exclude s* -Recurse

Mドライブ以下にある、拡張子が「.pdf」、「.txt」のファイルを表示します。

このとき、ファイル名がsから始まるファイルは表示しません(-Exclude s*)。

ファイル名だけを表示する「Name」

Get-ChildItem M:\ -Include *.pdf, *.txt -Exclude s* -Recurse | Select-Object -property Name

上の画像のように、LastWriteTimeやLengthを表示しません。
ファイル名だけを表示してくれます。

プロパティも表示したくない場合は

-property-ExpandPropertyにします。

ファイル名をフルパスで表示する「fullname」

Get-ChildItem M:\ -Include *.pdf, *.txt -Exclude s* -Recurse | Select-Object fullname

他にもいろいろオプションあります。

ファイル検索なら、とりあえずこれだけ覚えておけばいいんじゃないかと。

目次