もくじ
📝 はじめに
PowerShellで作業していると、
「フォルダの中にどんなファイルがあるか確認したい」
「サブフォルダも含めて一覧を見たい」
と感じる場面はよくあります。
そんなときに基本となるのが
Get-ChildItem です。
ファイルやフォルダをオブジェクトとして一覧取得できるため、
表示だけでなく後続処理にもつなげやすいのが特徴です。
- フォルダ内のファイル一覧を確認したい
- 特定の拡張子だけを探したい
- サブフォルダを含めて調査したい
✅ このコマンドでできること(要点)
- ファイル・フォルダの一覧を取得できる
- サブフォルダを含めた再帰取得ができる
- 結果をパイプで加工・絞り込みできる
- ファイル情報(サイズ・更新日など)を扱える
✅ Get-ChildItem でできること
Get-ChildItem は、
指定したフォルダ配下にあるファイルやディレクトリを取得するコマンドです。
単なる一覧表示ではなく、
ファイル情報を持ったオブジェクトとして取得できるため、
条件指定や加工処理と非常に相性が良いのが特徴です。
考え方としては「フォルダの中身を丸ごと取り出す」と覚えると分かりやすいでしょう。
🧩 基本構文
Get-ChildItem -Path "対象フォルダ"
-Path は省略可能で、
現在の作業ディレクトリが対象になります。
▶ 基本的な使い方(まずこれだけ)
🔹 現在のフォルダの一覧を表示する
Get-ChildItem
ファイルやフォルダの一覧が表示されていれば成功です。
この結果が表示されていれば問題ありません。
🔹 指定したフォルダの一覧を表示する
Get-ChildItem C:\Windows
指定したパス配下の一覧が表示されます。
エラーが出なければ正常に取得できています。
🛠 よく使われる指定例
🔹 特定の拡張子だけを表示する
Get-ChildItem *.txt
テキストファイルのみが一覧表示されます。
🔹 サブフォルダも含めて取得する
Get-ChildItem -Recurse
配下すべてのフォルダを再帰的に検索します。
件数が多い場合は時間がかかる点に注意してください。
💼 実務でよく使う使用例(応用)
🔹 ファイルサイズ順に並べる
Get-ChildItem | Sort-Object Length -Descending
🔹 特定日以降に更新されたファイルを探す
Get-ChildItem |
Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) }
- Where-Object で条件絞り込み
- Sort-Object で並び替え
- Select-Object で必要な情報だけ取得
🧩 よくある勘違い・つまずきポイント
- デフォルトではサブフォルダは含まれない
- -Recurse は大量ファイルで時間がかかることがある
- 隠しファイルは表示されない場合がある
- アクセス権限がないフォルダではエラーになる
- 表示結果と取得オブジェクトを混同しやすい
🔄 cmdとの違いについて
cmd では dir を使って一覧表示しますが、
PowerShellの Get-ChildItem は
オブジェクトとして結果を扱える点が大きな違いです。
なお、dir や ls は
Get-ChildItem のエイリアスとして使えます。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したパスが正しいか
- アクセス権限が不足していないか
- -Recurse で対象が多すぎないか
- フィルター指定が意図どおりか
🧠 注意点
Get-ChildItem は非常に便利ですが、
再帰検索やネットワークパスでは処理負荷が高くなる場合があります。
必要に応じて条件指定や範囲を絞ることが大切です。
📌 まとめ
- Get-ChildItem はファイル・フォルダ一覧取得の基本コマンド
- オブジェクトとして扱えるため加工しやすい
- 条件指定や並び替えと組み合わせると強力
- 次は Where-Object や Select-Object と合わせて使うと理解が深まる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 特定のファイルを探したい
- サブフォルダを含めて確認したい
