Windows 11/10でPowerShellを使用してフォルダーのサイズを取得する方法

通常、Windows ベースの PC では、アイテムまたはフォルダーを右クリックして [プロパティコンテキストメニューから。この投稿では、PowerShell を使用してフォルダー サイズを確認または取得する方法Windows 11/10の場合。

フォルダーを取得する従来の方法の代わりに PowerShell を使用するユースケースは、アイテムまたはフォルダーのサイズが大幅に大きい場合 (たとえば、100 GB を超える場合) です。この場合、従来の方法を使用すると、フォルダーの [プロパティ] ウィンドウに項目のサイズが最終的に設定されるまでに時間がかかることがあります。さらに、表示されるサイズがフォルダーの実際のサイズではない可能性があります。

Windows 11/10でPowerShellを使用してフォルダーのサイズを取得する方法

何らかの理由で、フォルダーのサイズが必要になる場合があります。たとえば、フォルダーを (ローカル ドライブ、外部ドライブ、またはクラウド ストレージ上の別の場所に) 移動するのにかかる時間や期間を見積もるため、またはかなりの場合に必要になります。大きなフォルダーの場合は、それを削除してハード ドライブの空き容量を増やすだけです。PowerShell を使用すると、フォルダー/ディレクトリのサイズを即座に取得できます。このトピックについては、次の小見出しで説明します。

  1. フォルダー サイズを取得する PowerShell コマンド
  2. フォルダーのサイズをバイト、MB、GB で取得します
  3. フォルダーのサイズを 10 進数で取得する
  4. 特定のファイルタイプのアイテムのサイズを取得する
  5. フォルダーとサブフォルダーのサイズを取得する
  6. 時間フィルターを使用してフォルダーとサブフォルダーのサイズを取得する
  7. PowerShell スクリプトを使用してすべてのサブディレクトリ フォルダーのサイズを取得する

読む:Windows でのファイルとフォルダーの管理 – ヒントとコツ

1] フォルダーのサイズを取得する PowerShell コマンド

主なものは以下の2つですPowerShell コマンドレットこれをスイッチとパラメータとともに使用して、要件に応じて結果をフィルタリングし、フォルダーのサイズを取得できます。

  • Get-ChildItem(エイリアス:GCI) – このコマンドは、サブディレクトリを含む 1 つまたは指定されたディレクトリから情報を取得します。空のディレクトリは表示されず、表示されません。
  • 測定対象(エイリアス:測定) – このコマンドは、指定されたディレクトリのさまざまなプロパティ (サイズなど) を計算します。

エイリアスはコマンドの代替名であるため、毎回コマンド全体を入力する必要はありません。

読む:Windows コンポーネント ストアまたは WinSxS を分析する

2] フォルダーのサイズをバイト、MB、GB で取得します。

このコマンドレットは、指定されたフォルダーとそのフォルダー内のアイテムのサイズのみを取得し、結果にはサブディレクトリ内のアイテムのサイズは含まれません。たとえば、コマンドを実行して、C:\Users\Chidum.Osobalu\Documents\TWC_関連PC上にあるフォルダー。を置き換えますフォルダーへのパスサイズを取得するフォルダー/ディレクトリへの完全なパスを含むプレースホルダー。

フォルダーのサイズ (バイト単位):

Get-ChildItem PathToFolder | Measure-Object -Property Length -sum

フォルダーのサイズ (MB):

(gci PathToFolder | measure Length -s).sum / 1Mb

フォルダーのサイズ (GB):

(gci PathToFolder | measure Length -s).sum / 1Gb

「合計」フィールドには、場合によってはフォルダーのサイズがバイト、MB、GB 単位で表示されます。

読む:空の0バイトファイルを削除する方法

3] フォルダーのサイズを 10 進数で取得します

MB および GB 単位のフォルダー サイズの出力は、サイズが小数点以下の桁数が多いため、一目で理解するのが曖昧です。したがって、以下のコマンドを実行して、結果を小数点で四捨五入することができます。代わりの "×」に結果を四捨五入する小数点以下の桁数を入力し、必要に応じて GB または MB を指定します。

"{0:NX} GB" -f ((gci PathToFolder | measure Length -s).sum / 1Gb)

4] 特定のファイルタイプのアイテムのサイズを取得する

同じファイルの種類/拡張子を持つフォルダー内のすべてのアイテムのサイズを取得したい場合は、以下のコマンドを実行します。を置き換えますファイルタイプ/拡張子それに応じてプレースホルダー。

(gci PathToFolder *.FileType/Extension | measure Length -s).sum / 1Gb

読む:異なる名前で複数のフォルダーを一度に作成する方法

5] フォルダーとサブフォルダーのサイズを取得する

フォルダーとサブフォルダー (内部のアイテムを含む) のサイズを取得するには、-Recurseとの推測で使用されるパラメータ-ErrorAction SilentlyContinue次のようなディレクトリ アクセス エラーを回避するためのパラメータ許可が拒否され、

親ディレクトリとサブディレクトリのサイズを取得するには、以下のコマンドのいずれかを実行できます。

(gci PathToFolder –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb
"{0:NX} GB" -f ((gci –force PathToFolder –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)

このコマンドレットには、非表示の項目のサイズも含まれます。

読む:Windows でフォルダー ツリーを作成する方法

6] 時間フィルターを使用してフォルダーとサブフォルダーのサイズを取得する

親フォルダーと子フォルダーのサイズを取得したり、フィルターを適用して、特定の日、特定の月、または特定の年に作成されたアイテムのサイズを見つけることもできます。これは、開始日と終了日を指定することで定義できます。これらの日付はそれぞれ、-gt(より大きい) と-lt(未満) パラメータ。日付の形式は MM/DD/YY です。

特定の期間に作成されたサブフォルダーを含むフォルダーのサイズを取得するには、以下のコマンドを実行します。を置き換えますYY/MM/DDそれに応じてプレースホルダー。

(gci -force PathToFolder –Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt ‘MM/DD/YY’ -AND $_.CreationTime -lt ‘MM/DD/YY’}| measure Length -s).sum / 1Gb

前に示したコマンドを使用してこれらのフィルターを適用し、親フォルダーのフォルダー サイズのみを取得することもできます。

読む:コマンド プロンプトを使用してファイルとフォルダーの所有権情報を検索する

7] PowerShell スクリプトを使用してすべてのサブディレクトリ フォルダーのサイズを取得する

ここで、物事をさらに複雑にするために、フォルダー内の各サブディレクトリのサイズを取得する必要があると仮定します。これは、PowerShell を使用して実現することもできます。もちろん、サブディレクトリ内のアイテムのサイズを含むすべてのサブディレクトリ フォルダーのサイズを取得し、きちんとした表形式で表示するには、次のようにします。PowerShell スクリプトを作成して実行する以下のコードを使用します。

$targetfolder='DriveLetter:\'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of all subdirectories in DriveLetter drive”

交換してくださいドライブレター上記のコード内のプレースホルダーをそれに応じて変更し、必ずPowerShell スクリプトの実行をオンにする

それでおしまい!

こちらもお読みください:コマンドプロンプトでファイルとフォルダーを管理するための便利なコマンド

Windows でフォルダーのサイズを確認する方法はありますか?

従来の方法では、フォルダーのサイズを確認してくださいファイル エクスプローラーを開き、サイズを確認したいファイル、フォルダー、またはドライブを右クリックします。表示されるメニューから [プロパティ] を選択すると、ファイル/ドライブの合計サイズが表示されます。同じタスクを実行する従来とは異なる方法は、上記の投稿で示したように PowerShell を使用することです。

読む:Windowsでフォルダーのサイズを表示する方法

フォルダーとサイズを一覧表示する DOS コマンドは何ですか?

dirこのコマンドは、ファイルとディレクトリに関する情報と、使用可能なディスク容量を表示します。デフォルトでは、このコマンドは、現在のディレクトリ内のすべてのファイルの名前、サイズ、および最終変更時刻を表示します。

読む:コマンド プロンプトと PowerShell を使用してハード ドライブを一覧表示する