Blog

BLOG

2021.03.15

PowerShell でPCのどこかにある迷子ファイル探し

このエントリーをはてなブックマークに追加

こんにちは。
クラウドソリューショングループ 池崎です。

今回は、日々の作業で楽をするために便利な「 PowerShell 」をご紹介します。
プログラミングを嗜む人はもちろん、今まで触ったこともない人にもおすすめできる言語です。

Windows に標準搭載されている「 PowerShell 」は、正式には「 Windows PowerShell 」といい、ファイル操作に適した言語です。
標準搭載なので、何かをダウンロードしてくる必要はありません。思い立ったらすぐに始められます。
同じく標準搭載されている「コマンドプロンプト」の進化系に当たります。
PC自体の環境設定、ネットワーク環境の構築をするなら「コマンドプロンプト」の方に軍配が上がるものの、そうでないのなら「 PowerShell 」が使いやすいと思います。

ここでいう「ファイル操作」というのは、検索、作成、コピー、削除のこと。
少し勉強すれば、編集もできます。
どれも「 Powershell 」を使わなくてもできる作業ばかりですが、物量が多ければ多いほど「 Powershell 」を使うメリットが大きくなってきます。

サンプルとして、「あのファイルどこだっけ?」を解決してみます。
沢山のフォルダや大量のファイルの中から目的のファイル一つを探すとなると大変です。

PowerShell でファイルを探してみよう

まずは「 PowerShell 」を起動します。
画像は Windows 10 です。

デスクトップの下部にある虫眼鏡(検索フォーム)で「 PowerShell 」を入力。
なんだか色々出ますが、今回使うのは「 Windows PowerShell 」です。

「 Windows Powershell ISE 」の方でもできないことはありませんが、こちらは上級者向けと思ってください。

無事開けたら、こんな画面が出ているはずです。

あとはコマンドを入力すれば完了です。

今回使うのは、ファイルの一覧を出力するコマンドである「Get-ChildItem」。
構文は単純に、

Get-ChildItem -Path<探すフォルダのパス> -Filte<ファイル名> -Recurse

となります。
<>の部分を目的に合わせて置き換えましょう。

「-Path」は、この後から次の半角スペース、または改行までに「フォルダパス」が書かれていますよ、という宣言です。
ちなみに、パスというのはアドレスのこと。
知りたいフォルダ、ファイルを右クリックして、プロパティを確認することでわかります。

パスの確認 ①

パスの確認 ②

<探すフォルダのパス>の部分に、「この中のどこかにあるはず」というフォルダを指定します。
今回は、「このパソコンの中にはある…」ということで、パスは「C:(Cドライブ)」とします。

反映させるとこうなりますね。

Get-ChildItem -Path c: -Filte<ファイル名> -Recurse

「-Filter」は、この後から次の半角スペース、または改行までに「欲しいファイルの名前」が書かれていますよ、という宣言です。
ファイル名が完璧にわかるならそれに越したことはないのですが、どこに保存したかわからないような場合、大抵覚えていませんよね。
ここでは、「ファイル名に”あああ”が含まれているテキストファイル」ということにします。

テキストファイルには、必ず末尾に「.txt」という拡張子が付くので、単純に考えると「あああ.txt」となります。
ただし、このままでは「あああ.txt」というファイル名しか見つかりません。
条件は「”あああ”が含まれている」なので、もうひと手間必要です。

ここで使うのがワイルドカード。いくつかある中で、今回使うのは「*(アスタリスク)」です。
ワイルドカードとしての「*」には、「0桁以上の文字列」という意味があります。
「”あああ”が含まれている」ということは、”あああ”はもちろん、”@@あああ”も”あああ@@”も”@@@@あああ@@@@”も該当するということ。
つまり、”あああ”の前後にワイルドカードを指定することになり、「*あああ*」が正解です。
拡張子がわからない場合はこのままでOK。
今回は、これに必ず末尾に付く拡張子をくっつけて、「*あああ*.txt」となります。

反映させるとこうです。

Get-ChildItem -Path c: -Filte *あああ*.txt -Recurse

無事埋めたので、実行します。
「Get-ChildItem -Path c: -Filte *あああ*.txt -Recurse」を直接入力するか、メモ帳などで書いたものをコピーして右クリックで貼り付けましょう。
特に何も表示されませんが、右クリックだけでコピーした文が貼り付けられているはずです。
あとは Enter を一回押すだけです。

対象のファイルが多いので少し時間はかかりますが、画像のように、「PS C:\Users\****>」が最終行に表示されれば完了です。
フォルダの場所と、検索条件に合うファイル名が表示されます。

今回はサンプルなので、実行する前に検索にヒットするファイルを作成しておきました。
欲しいファイルがない場合、何も出力されません。
その場合、「*あああ*.txt」の部分が間違っている可能性大です。

拡張子、ワイルドカードは半角になっていますか?
検索条件のカタカナやアルファベットは、半角・全角の確認を忘れずに。
うろ覚えでしょうから、思い当たる限り変更して試してみましょう。

それでも出ない場合、間違えているのは「c:」の部分でしょう。
今回の例だと、その場合PCに保存されていないことになりますが…。

エクスプローラー (File Explorer) にも検索機能はあるのですが、Windows 10 のフォルダ検索は非常によく固まるので、こちらの方が安心。
慣れるまでは難しく思えるかも知れませんが、フォルダを手動で探してまわることを考えると、涙が出るほど簡単で、早いです。

ところで、「候補がたくさん出たら、一つ一つ見に行くのめんどくさい」と思いませんでしたか?
もう少し工夫して、利便性を上げてみます。

見つけたファイルをデスクトップにコピーして、対象のファイルを一箇所に集めて確認できるようにします。
お試しする場合、「C:\Users\<userName>」はデスクトップのアドレスで、ログインしているユーザごとに違うので、自分の環境に合わせて変更してください。

デスクトップに新しいフォルダ「createFolder」を作成

New-Item C:\Users\<userName>\createFolder -ItemType Directory

作成したフォルダ「createFolder」に検索結果を出力

Get-ChildItem -Path c: -Filte *あああ*.txt -Recurse | ForEach-Object {Copy-Item $_.fullname C:\Users\<userName>\createFolder}

「PS C:\Users\****>」が最終行に表示されれば完了です。
特に何も表示されないので不安かも知れませんが、表示させるためのコマンドを含んでいないので、この場合は何もなくて正解です。
これを実行すれば、デスクトップに現れたフォルダ「createFolder」に条件にヒットしたファイルがいるはずです。

デスクトップにコピーしてくるので、この場合は元々どこにあったのかはわかりません。
目的に合わせて使い分けが必要ですね。

いかがでしょうか?
最初に実行した「Get-ChildItem」は、該当するファイルが存在するフォルダを探すためのものです。
次に実行した「Get-ChildItem」は、該当するファイルを集めるためのものです。
両方を同時に行うこともできますし、まったく同じファイル名が複数あった時の対応など、まだまだ改良の余地があります。

今回は「 Windows PowerShell 」でお話しましたが、実はMacでも使える「 PowerShell Core 」というものがあります。
ほぼ同じものではあるものの別物で、完全な互換性は保証されていません。
「 Windows PowerShell 」で作ったものを「 PowerShell Core 」で、「 PowerShell Core 」で作ったものを「 Windows PowerShell 」で使おうとするならば、自力で修正できるだけの知識は付けておきたいところです。

興味が湧いたなら、是非勉強して、サンプルをオリジナル版へと改良してみてください。

カレンダー

«3月»
 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31    

最近のエントリー

炊飯器の買い替え|メーカーから機種選びまで

2026.01.26

10年使った炊飯器が大きな故障はないものの、水漏れや炊き上がりの変化などから寿命を意識し、買い替えを検討。ネット検索では情報過多に戸惑い、家電量販店で最新事情を確認する流れを選びました。メーカーは保温性能と使い慣れた考え方を重視し、象印マホービンを継続候補に。価格帯や世代差、型落ち上位モデルの魅力を整理し、価格推移を見ながら最適な購入タイミングを探っています。

Salesforce のダッシュボードの機能 〜動的ゲージグラフの設定方法〜

2026.01.23

ダッシュボードの目標管理を、もっと効率的に行いたい方におすすめの記事です。Salesforceの「動的ゲージグラフ」は、ユーザーやレコードの項目を目標値として参照できるため、複数のダッシュボードで同じ目標を使っている場合でも、元データを一か所更新するだけで反映される点が特長です。具体的な仕組みから具体的な作成手順、活用時のポイントまでを分かりやすく解説しています。KPI管理や目標達成率の可視化に役立つ内容となっております。

"寝る"以外の科学的な休養法

2026.01.19

疲れたときは「寝る」だけで十分だと思っていませんか?本記事では、科学的な視点から休養を7つのタイプに分類し、運動や人との交流、環境の変化など、行動することで回復につながる方法を紹介しています。自分に合った休養の取り方を知り、日々の疲労と上手に付き合うためのヒントをお届けします。

ラージボール卓球 ~2025年度 さがねんりんピックラージボール卓球交流大会~

2026.01.14

2025年10月に開催されたさがねんりんピック2025 ラージボール卓球交流大会に混合ダブルスA級で参加した体験を振り返ります。予選リーグを2位で通過し、決勝トーナメントでは準決勝まで進出。苦手とするカットマンペアとの対戦を通じて、戦術理解や練習の重要性を実感しました。結果だけでなく、試合を通して感じた反省や今後の反省、健康と向き合いながら競技を続けていく思いについても触れています。

アーカイブ

ブログ内検索

  1. TOP
  2. BLOG
  3. PowerShell でPCのどこかにある迷子ファイル探し