PowerShellを実際の業務で活用する際、最初に覚えておきたいのがファイル操作に関するコマンドです。その中でも Get-ChildItem は使用頻度が高く、ファイルやフォルダの一覧取得、検索などさまざまな場面で利用されます。

本記事では、PowerShellの Get-ChildItem コマンドの基本的な使い方から、実務でよく利用するオプションや使用例について説明します。

Get-ChildItem コマンド

Get-ChildItem は、ファイルやフォルダの一覧を取得するコマンドです。Windowsのdirコマンドに相当し、PowerShellで最もよく使用されるコマンドの一つです。

よく使うオプション

オプション説明
-Path対象フォルダを指定(省略可)
-Recurseサブフォルダも含めて検索
-Filterファイル名や拡張子で絞り込み
-Fileファイルのみ取得
-Directoryフォルダのみ取得
-Force隠しファイルや読み取り専用ファイルも取得


実務で使える例

フォルダの中身を確認する(-Path)

指定したフォルダ内のファイルとフォルダを取得します。-Path は省略できます。

Get-ChildItem -Path C:\work


サブフォルダも含めて検索する(-Recurse)

指定したフォルダ内をサブフォルダも含めてファイルとフォルダを取得します。

Get-ChildItem C:\work -Recurse


特定の拡張子だけ取得する(-Filter)

指定したフォルダ内で拡張子が .txt のファイルだけ取得します。

Get-ChildItem C:\work -Filter *.txt


ファイルだけ取得する(-File)

指定したフォルダ内のファイルだけ取得します。

Get-ChildItem C:\work -File


フォルダだけを取得する(-Directory)

指定したフォルダ内のフォルダだけ取得します。

Get-ChildItem C:\work -Directory


隠しファイルも含めて取得する(-Force)

指定したフォルダ内にある隠しファイルやシステムファイルも含めて取得します。

Get-ChildItem C:\work -Force


隠しファイルのみ取得する(-Force)

指定したフォルダ内にある隠しファイルやシステムファイルのみ取得します。

Get-ChildItem C:\work -Force | Where-Object { $_.Attributes -match "Hidden" }


最近更新されたファイルを確認する

指定したフォルダ内にあるファイルを、更新日時が新しい順に並べます。

Get-ChildItem C:\work -File | Sort-Object LastWriteTime -Descending

Sort-Object はオブジェクトを並べ替えるコマンドです。LastWriteTime を指定することで最終更新日時を基準に並べ替えを行い、-Descending を付けることで新しいものから順番に表示します。


以上、PowerShellの Get-ChildItem コマンドの基本的な使い方から、実務でよく利用するオプションや使用例について解説しました。