PowerShell を使用した再帰的なファイル検索

Rohan Timalsina 2023年1月30日
  1. PowerShell の -Recurse スイッチで Get-ChildItem コマンドレットを使用して、ファイルを再帰的に検索する
  2. PowerShell で dir コマンドレットと -Recurse スイッチを使ってファイルを再帰的に検索する
PowerShell を使用した再帰的なファイル検索

時々、私たちはコンピュータにファイルを保存し、それをどこに保存したかを忘れます。コンピューター上のファイルを検索するには、さまざまな方法があります。その 1つが PowerShell で、特定の場所に存在するファイルやディレクトリをリストアップすることができます。

このチュートリアルでは、PowerShell を使用してファイルを再帰的に検索する方法を説明します。

PowerShell の -Recurse スイッチで Get-ChildItem コマンドレットを使用して、ファイルを再帰的に検索する

Get-ChildItem コマンドレットは、特定の場所にあるファイルとディレクトリのリストを表示します。-Recurse パラメータと一緒に使用すると、空のディレクトリは表示されません。

たとえば、次のコマンドは、C:\pc ディレクトリに存在するファイルとディレクトリのリストを表示します。

Get-ChildItem -Path C:\pc

出力:

    Directory: C:\pc


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          1/2/2022   2:53 PM                computing
d-----          1/2/2022   1:24 PM                New folder
-a----          1/2/2022   1:36 PM          17384 hello
-a----          1/2/2022   2:48 PM           5134 matrix.c
-a----        12/26/2020   7:03 PM            321 ReadMe.txt

-Recurse パラメータを使用すると、指定した場所のすべてのディレクトリまたはサブディレクトリからファイルを取得できます。これは、PowerShell を使用して特定の場所でファイルを再帰的に検索できることを意味します。

Get-ChildItem -Path C:\pc -Filter car.png -Recurse -ErrorAction SilentlyContinue -Force

以下に示すように、car.png はディレクトリ C:\pc\computing\task4 にあります。複数のディレクトリで見つかった場合は、すべての car.png ファイルが表示されます。

出力:

    Directory: C:\pc\computing\task4


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/3/2022   2:26 PM           3465 car.png

ファイル名がわからない場合は、同じファイル拡張子を持つすべてのファイルを検索できます。たとえば、次のコマンドは、C:\pc ディレクトリにある .txt 拡張子を持つすべてのファイルを表示します。

Get-ChildItem -Path C:\pc -Filter *.txt -Recurse -ErrorAction SilentlyContinue -Force

表示される出力は、ファイルの PathModeLastWriteTimeLength、および Name が含まれているため、通常は大きくなります。ファイルのパスを表示するには、| %{$_.FullName} を使用します。

Get-ChildItem -Path C:\pc -Filter *.txt -Recurse -ErrorAction SilentlyContinue -Force | %{$_.FullName}

出力:

C:\pc\ReadMe.txt
C:\pc\computing\task1\MatrixA.txt
C:\pc\computing\task3\password.txt

PowerShell で dir コマンドレットと -Recurse スイッチを使ってファイルを再帰的に検索する

dir コマンドレットは、Get-ChildItem のエイリアスです。また、特定の場所にあるファイルとディレクトリのリストも表示されます。

dir -Path C:\pc -Filter password.txt -Recurse

出力:

    Directory: C:\pc\computing\task3


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          1/7/2022   3:43 PM             18 password.txt
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell File