PowerShell で拡張子のあるファイルを見つける方法
-
PowerShell で拡張子を持つファイルを見つけるために
Filter
とともにGet-ChildItem
を使用する -
PowerShell で拡張子を持つファイルを見つけるために
Include
とともにGet-ChildItem
を使用する - 結論

PowerShell は、コンピュータ上のファイルやディレクトリを管理するための多用途で強力なツールです。一般的なタスクの一つは、特定の拡張子を持つファイルを見つけることです。
この記事では、PowerShell の Get-ChildItem
コマンドレットを使用して、特定の拡張子を持つファイルを効率的に見つける方法を探ります。
PowerShell で拡張子を持つファイルを見つけるために Filter
とともに Get-ChildItem
を使用する
PowerShell 環境の Get-ChildItem
コマンドは、指定された場所からアイテムを取得します。アイテムはコンテナに存在することがあり、コンテナは通常フォルダです。
さらに、Get-ChildItem
は -Recurse
パラメータを使用して、子コンテナまたはサブコンテナからアイテムを取得します。それには特定の拡張子を持つすべてのファイルを取得するためにアスタリスク(*
)ワイルドカードを使用する -Filter
パラメータも含まれています。
構文:
Get-ChildItem -Path "File Path" -Recurse -File -Filter *.txt
パラメータ:
-Path "ファイルパス"
: 特定の拡張子を探す開始ディレクトリを指定します。-Recurse
: 検索をサブディレクトリに拡張し、包括的な検索を提供します。-File
: ディレクトリではなくファイルに焦点を当て、ファイルのみが返されることを保証します。-Filter *.txt
:".txt"
拡張子を持つファイルのフィルタを設定します。アスタリスク(*
)は".txt"
の前の任意の文字に一致します。
例を挙げてみましょう。次のコマンドは、.txt
拡張子を持つすべてのファイルを見つけます。
Get-ChildItem "C:\Files\" -Recurse -File -Filter *.txt
このコマンドでは、"C:\Files"
ディレクトリの Get-ChildItem
コマンドレットを使用して検索を開始し、その場所内にあるファイルやディレクトリに関する情報を収集します。さらに、検索をすべてのサブディレクトリにも拡張するために、-Recurse
パラメータを含めます。
次に、ディレクトリではなくファイルに興味があることを指定するために、-File
パラメータを追加します。最後に、-Filter *.txt
を使用してフィルタ条件を定義し、アスタリスク(*
)がそれに続く任意の文字に一致する".txt"
で終わるファイルを探します。
このようにして、PowerShell に".txt"
で終わるすべてのファイルを見つけるように効果的に指示します。
出力:
Directory: C:\Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file1.txt
-a---- 5/15/2022 11:02 PM 0 file2.txt
-a---- 5/15/2022 11:02 PM 0 file3.txt
Directory: C:\Files\Misc files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:05 PM 0 file8.txt
Directory: C:\Files\More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:02 PM 0 file4.txt
Directory: C:\Files\More Files\Some More Files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/15/2022 11:03 PM 0 file6.txt
Get-ChildItem
に -Name
パラメータを追加することで、詳しい出力ではなくファイルのパスのみを出力することもできます。
Get-ChildItem "C:\Files\" -Recurse -File -Name -Filter *.txt
出力:
file1.txt
file2.txt
file3.txt
Misc files\file8.txt
More Files\file4.txt
More Files\Some More Files\file6.txt
出力を見てみると、-Name
パラメータを使用してコマンドを実行した後にはファイルの名前とパスのみが表示されていることがわかります。
PowerShell で拡張子を持つファイルを見つけるために Include
とともに Get-ChildItem
を使用する
Get-ChildItem
コマンドは、マッチングアイテムを含めるために 1つ以上の文字列パターンを取る -Include
パラメータを使用します。
構文:
Get-ChildItem "File Path" -Recurse -File -Name -Include *.txt
-Path "ファイルパス"
: 特定の拡張子を持つファイルを探すための検索の開始ディレクトリを指定します。-Recurse
: 検索をすべてのサブディレクトリに拡張し、包括的な検索を保証します。-File
: 結果からディレクトリを除外し、ファイルにのみ焦点を当てます。-Name
: 詳細なファイル情報なしで出力にファイル名のみをリストします。-Include *.txt
: 結果に".txt"
拡張子を持つファイルをフィルタリングして取得します。
-Recurse
フラグなしでファイルパスの末尾にアスタリスク(*
)を追加することが必要です。その場合、Files
フォルダ内の .txt
ファイルのみがリストされます。
Get-ChildItem "C:\Files\*" -File -Name -Include *.txt
このコマンドでは、"C:\Files"
ディレクトリ内のファイルを検索するために Get-ChildItem
コマンドレットを使用し、すべてのサブディレクトリを対象にします。".txt"
拡張子を持つファイルを特定するために、一連のパラメータを適用します。
まず、"C:\Files\*"
でパスを設定します。これにより、"C:\Files"
のすべてのサブディレクトリが含まれます。-File
パラメータを追加することで、ディレクトリを除外してファイルのみに集中します。
-Name
パラメータは出力を洗練させ、ファイルの名前のみを表示し、-Include *.txt
パラメータは".txt"
拡張子を持つファイルをフィルタリングして検索を微調整します。
出力:
file1.txt
file2.txt
file3.txt
出力は、PowerShell コマンドで指定した基準に一致する".txt"
拡張子を持つファイル名のリストを示しています。
結論
この記事では、PowerShell で Get-ChildItem
コマンドレットを使用してそのようなファイルを見つける効率的な方法を探りました。精度のために -Filter
パラメータを使用するアプローチと、柔軟性のために -Include
パラメータを使用する 2つのアプローチを取り上げました。
これらの技術は、データ分析や整理などのタスクを簡素化し、Windows 環境でのファイル管理をより効率的にすることができます。