PowerShell を使用した再帰的なファイル検索
-
PowerShell の
-Recurse
スイッチでGet-ChildItem
コマンドレットを使用して、ファイルを再帰的に検索する -
PowerShell で
dir
コマンドレットと-Recurse
スイッチを使ってファイルを再帰的に検索する
時々、私たちはコンピュータにファイルを保存し、それをどこに保存したかを忘れます。コンピューター上のファイルを検索するには、さまざまな方法があります。その 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
表示される出力は、ファイルの Path
、Mode
、LastWriteTime
、Length
、および 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