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

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

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

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

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

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

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

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

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

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

2] フォルダのサイズをバイト、MB、GBで取得

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

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

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で表示されます。

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

MBとGBのフォルダサイズの出力は、サイズが小数点以下であるため、一見して理解しにくい場合があります。そのため、以下のコマンドを実行して結果を10進数で四捨五入することができます。「X」を結果を四捨五入する小数点以下の桁数に置き換え、必要に応じてGBまたはMBを指定します。

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

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

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

(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)

このコマンドレットには、隠しアイテムのサイズも含まれます。

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

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

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

(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”

コード内のDriveLetterプレースホルダーを適宜置き換え、PowerShellスクリプトの実行をオンにします。

以上です!

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

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

Windows 11/10でフォルダのサイズを表示する方法

Windowsでフォルダのサイズを表示するには、フォルダオプションを開いて[表示]タブをクリックします。フォルダとデスクトップアイテムのポップアップ説明を表示するをチェックして、[適用]と[終了]をクリックします。無料のUltimate Windows Tweakerを使用してこれらの設定を変更することもできます。カスタマイズ>このPC>フォルダヒントにファイルの種類情報を表示するの下に調整が表示されます。

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

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