[登録されているタグ]

[記事公開日]2025/12/18

PowerShellでカレント配下のみ一覧表示する|Get-ChildItem -Depth の使い方

📝 はじめに

PowerShellでファイル一覧を取得するとき、
「サブフォルダは見たくない」
「深い階層まで再帰すると情報が多すぎる」
と感じたことはありませんか?

Get-ChildItem には
再帰検索を制御できる -Depth パラメーターがあります。
これを使うことで、指定した深さまでだけ一覧表示することが可能になります。

こんな場面で便利

  • カレント配下だけを一覧表示したい
  • 1階層・2階層までに制限したい
  • 不要な深い再帰検索を避けたい

✅ このコマンドでできること(要点)

  • 再帰検索の深さを数値で制御できる
  • 必要最小限のファイル一覧を取得できる
  • -Recurse と組み合わせて使える
  • 処理時間や負荷を抑えられる

✅ Get-ChildItem -Depth でできること

-Depth は、
Get-ChildItem -Recurse と一緒に使うことで、
再帰検索の階層数を制限するためのパラメーターです。

「再帰はしたいが、無制限にはしたくない」
というケースで特に役立ちます。

考え方としては「何階層下まで見るかを決める」と覚えると分かりやすいでしょう。

🧩 基本構文

Get-ChildItem -Recurse -Depth 数値

-Depth は数値で指定し、
0 を指定するとカレント直下のみが対象になります。

▶ 基本的な使い方(まずこれだけ)

🔹 カレント配下のみを表示する(Depth 0)

Get-ChildItem -Recurse -Depth 0

現在のフォルダ直下にあるファイル・フォルダのみが表示されます。
この結果が表示されていれば問題ありません。

🔹 1階層下まで表示する

Get-ChildItem -Recurse -Depth 1

サブフォルダの中身までは表示されますが、
それ以上深い階層は対象外になります。
エラーが出なければ正常に動作しています。

🛠 よく使われる指定例

🔹 フォルダのみを対象にする

Get-ChildItem -Directory -Recurse -Depth 1

カレント配下と、その1階層下にあるフォルダのみを取得します。

🔹 ファイルだけを一覧表示する

Get-ChildItem -File -Recurse -Depth 0

カレントディレクトリ直下のファイルのみを表示します。

💼 実務でよく使う使用例(応用)

🔹 ログフォルダ構成を把握する

Get-ChildItem C:\Logs -Recurse -Depth 1

🔹 処理対象を事前に確認する

Get-ChildItem -Recurse -Depth 0 |
Where-Object { $_.Extension -eq ".txt" }
組み合わせ例

  • -File / -Directory で対象限定
  • Where-Object で条件絞り込み
  • Sort-Object で並び替え

🧩 よくある勘違い・つまずきポイント

  • -Depth は -Recurse とセットで使う
  • -Depth だけ指定しても再帰は行われない
  • PowerShell 5.1 では使用できない
  • 深い階層でも 0 は「直下のみ」
  • 大量ファイルでも処理負荷を抑えられる

🔄 cmdとの違いについて

cmd の dir では
階層制御が難しいですが、
PowerShell の Get-ChildItem -Depth
再帰範囲を明確に指定できます。

大規模フォルダの調査で特に差が出ます。

⚠ エラー・うまく動かないときの確認ポイント

  • PowerShell のバージョンが 6 以降か
  • -Recurse を指定しているか
  • -Depth の数値が正しいか
  • 対象フォルダが存在しているか

🧠 注意点

-Depth
Windows PowerShell 5.1 では使えません。
利用する場合は PowerShell 6(Core)以降であることを
事前に確認しましょう。

📌 まとめ

  • -Depth を使うと再帰検索の範囲を制御できる
  • Depth 0 はカレント配下のみを対象にする
  • 不要な深い検索を避けられる
  • 次は -File / -Directory と組み合わせると便利

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探すこともできます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • カレント配下だけを一覧表示したい
  • 再帰検索の深さを制御したい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る