Categories: OS

PowerShell の Get-ChildItem コマンドでフォルダ内のファイル一覧を取得する方法

PowerShell は Windows に標準搭載されている強力なスクリプト環境であり、多くのタスクを自動化するのに役立ちます。特に、フォルダ内のファイル一覧を取得する際に便利なのが Get-ChildItem コマンドです。本記事では、Get-ChildItem の基本的な使い方から応用例まで詳しく解説します。

Get-ChildItem コマンドの基本

Get-ChildItem コマンドは、指定したフォルダ内のファイルやフォルダを一覧表示するために使用されます。基本的な構文は次の通りです。

Get-ChildItem -Path "C:\ExampleFolder"

このコマンドを実行すると、C:\ExampleFolder 内のファイルとフォルダの一覧が表示されます。

オプションを活用した詳細な取得方法

サブフォルダを含めた検索

フォルダ内のすべてのファイルとサブフォルダの内容を一覧表示するには、-Recurse オプションを使用します。

Get-ChildItem -Path "C:\ExampleFolder" -Recurse

このコマンドを実行すると、指定フォルダ内の全ファイルとサブフォルダの内容も含めて表示されます。

特定の拡張子のファイルを検索

特定の種類のファイルだけを取得したい場合は、-Filter オプションを活用できます。

Get-ChildItem -Path "C:\ExampleFolder" -Filter "*.txt"

このコマンドでは、C:\ExampleFolder 内の .txt ファイルのみを表示します。

隠しファイルやシステムファイルの表示

通常、隠しファイルやシステムファイルは表示されませんが、-Force オプションを使用することで表示できます。

Get-ChildItem -Path "C:\ExampleFolder" -Force

このコマンドを実行すると、通常表示されないファイルも一覧に含めることができます。

出力結果を整理して表示

ファイル名のみを表示

取得したファイルの一覧から、ファイル名のみを表示するには Select-Object を使用します。

Get-ChildItem -Path "C:\ExampleFolder" | Select-Object Name

フルパスを取得

ファイルのフルパスを表示する場合は、次のようにします。

Get-ChildItem -Path "C:\ExampleFolder" | Select-Object FullName

ファイル情報の取得

ファイルサイズを表示

ファイルのサイズを取得したい場合は、Length プロパティを使用します。

Get-ChildItem -Path "C:\ExampleFolder" | Select-Object Name, Length

このコマンドでは、ファイル名とそのサイズ(バイト単位)を一覧表示します。

最終更新日時を表示

ファイルの最終更新日時を取得するには、次のようにします。

Get-ChildItem -Path "C:\ExampleFolder" | Select-Object Name, LastWriteTime

実用的な活用例

1. 指定フォルダ内のファイル一覧を CSV に出力

取得したファイル一覧を CSV ファイルに保存することで、後で整理や分析がしやすくなります。

Get-ChildItem -Path "C:\ExampleFolder" | Select-Object Name, FullName, Length, LastWriteTime | Export-Csv -Path "C:\file_list.csv" -NoTypeInformation

このコマンドは、ファイル名、フルパス、サイズ、最終更新日時を含む CSV ファイルを作成します。

2. 一定サイズ以上のファイルのみを表示

特定のサイズ以上のファイルを抽出したい場合は、Where-Object を使用します。

Get-ChildItem -Path "C:\ExampleFolder" | Where-Object { $_.Length -gt 100MB }

このコマンドでは、100MB を超えるファイルのみを表示します。

3. 指定日より新しいファイルのみを表示

ある日以降に作成または更新されたファイルを取得するには、次のようにします。

Get-ChildItem -Path "C:\ExampleFolder" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) }

このコマンドでは、過去7日以内に更新されたファイルを一覧表示します。

まとめ

Get-ChildItem コマンドは、PowerShell でファイルやフォルダの一覧を取得するための強力なツールです。本記事では、基本的な使い方から、応用的なフィルタリングや出力整理の方法までを解説しました。ぜひ、日々の業務の効率化に役立ててください!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。