フォルダー内のアイテムをカウントする方法(PowerShell を使用)
-
PowerShell で
Measure-Object
コマンドレットを使用してフォルダー内のアイテムを数える -
PowerShell で
Get-ChildItem
とCount
プロパティを使用してフォルダー内のアイテムを数える -
PowerShell で
foreach
ループを使用してフォルダー内のアイテムを数える - 結論

PowerShell は、ファイルやフォルダーの作成、コピー、移動、削除、リスト表示など、さまざまなファイルおよびフォルダー操作をサポートしています。特定のフォルダーにどれだけのファイルとフォルダーが存在するかを知りたい場合があります。
PowerShell は、この作業を達成するためのいくつかの方法を提供しており、それぞれの利点と使用ケースがあります。その一つの方法が Measure-Object
コマンドレットを使用することで、アイテムのプロパティを測定することでアイテムを数える簡単な方法を提供します。
この記事では、PowerShell でフォルダー内のアイテムを数えるために Measure-Object
コマンドレットを利用する方法と、比較のための他の代替手段を探ります。
PowerShell で Measure-Object
コマンドレットを使用してフォルダー内のアイテムを数える
Measure-Object
コマンドレットは、特定のタイプのオブジェクトのプロパティの値を計算します。このコマンドレットを使用してオブジェクトを数えることができます。
また、数値の平均、合計、最小、最大、標準偏差も計算します。文字列オブジェクトの行数、単語数、文字数を数えることができます。
以下のコマンドは、path
ディレクトリに存在するファイルとフォルダーの数をカウントします。フォルダー階層の最初のレベルにあるすべてのファイルとフォルダーをカウントします。
(Get-ChildItem 'path' | Measure-Object).Count
この例では、Get-ChildItem
を使用して"path"
にあるフォルダー内のすべてのアイテムを取得しています。このアイテムのコレクションは、その後 Measure-Object
にパイプされ、さまざまなプロパティが計算されます。
アイテムをカウントすることに興味があるため、結果のオブジェクトの Count
プロパティにアクセスして、フォルダー内のアイテムの合計カウントを提供します。
出力:
Count
プロパティは、カウント値のみを表示します。
Count
プロパティは、その名前が示すように、測定から得られたカウント値を単に表示します。
たとえば、ディレクトリ内のファイルのみをカウントしたい場合、Get-ChildItem
に -File
パラメータを使用できます。このパラメータは、PowerShell にファイルのみのリストを取得するよう指示します。
(Get-ChildItem -File 'path' | Measure-Object).Count
このコマンドは、path
ディレクトリ内に存在するファイルのカウントを計算します。この場合の出力は 11
で、見つかったファイルの合計数を示しています。
出力:
同様に、フォルダーのみをカウントしたい場合は、-Directory
パラメータを使用できます:
(Get-ChildItem -Directory 'path' | Measure-Object).Count
この例では、PowerShell は指定したディレクトリ内のフォルダーのみをカウントし、6
のカウントを返します。
出力:
Get-ChildItem
の -Recurse
パラメータは、指定された場所内のアイテムを再帰的に取得します。 -Recurse
パラメータを使用して、ファイルとフォルダーを再帰的に数えることができます。
(Get-ChildItem -Recurse 'path' | Measure-Object).Count
このコマンドは、指定された場所内のすべてのファイルとフォルダーをカウントし、サブフォルダー内のものも含まれます。この場合の出力は 12082
で、再帰的に見つかったアイテムの合計カウントを示しています。
出力:
PowerShell で Get-ChildItem
と Count
プロパティを使用してフォルダー内のアイテムを数える
フォルダー内のアイテムを数えることは、特にファイルやディレクトリを管理する際に PowerShell スクリプティングにおける基本的な操作です。この目的を達成するための簡単なアプローチの一つは、Get-ChildItem
コマンドレットと Count
プロパティを利用することです。
(Get-ChildItem -Path "path").Count
この例では、Get-ChildItem
を使用して"path"
にあるフォルダー内のすべてのアイテムを取得しています。Get-ChildItem
から返されたアイテムのコレクションは、その後 .Count
プロパティにパイプされ、フォルダー内のアイテムの合計カウントを提供します。
出力:
PowerShell で foreach
ループを使用してフォルダー内のアイテムを数える
フォルダー内のアイテムを数えることは、特にファイルやディレクトリを管理する際に PowerShell スクリプティングにおける基本的な操作です。この目的を達成するための簡単なアプローチの一つは、Get-ChildItem
コマンドレットと Count
プロパティを利用することです。
$folderPath = "path"
$count = 0
foreach ($item in (Get-ChildItem -Path $folderPath)) {
$count++
}
$count
この例では、まず $folderPath
変数を定義して、アイテムを数えたいフォルダーのパスを保存します。カウンター変数 $count
をゼロに初期化します。
次に、foreach
ループを使用して、Get-ChildItem
で取得したフォルダー内の各アイテムを繰り返します。遭遇した各アイテムについて、$count
変数をインクリメントします。
ループが完了した後、$count
に保存されたアイテムの最終カウントを出力します。
出力:
結論
PowerShell でフォルダー内のアイテムをカウントすることは、基本的なファイル管理から複雑な自動化ワークフローまで、多くのスクリプティングシナリオで重要なタスクです。Measure-Object
や Get-ChildItem
などの多用途なコマンドレットと、foreach
ループのような制御構造を活用することで、スクリプターはフォルダー内のアイテム数を効率的に判断できます。
各方法にはそれぞれの利点があり、スクリプターは特定の要件や好みに最も適したアプローチを選択できます。この記事から得た知識を活用して、PowerShell ユーザーはスクリプティングの取り組みでファイルとフォルダーのカウントタスクを自信を持って扱うことができます。