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