Powershellを使用してフォルダのサイズを見つけるにはどうすればよいですか?


23

フォルダーの大きさ(サブフォルダーとそのコンテンツを含むすべてのコンテンツ)を確認できるようにします。それを行うためのPowerShellコマンドは見つかりませんが、サイズを知りたいときに毎回Windowsエクスプローラーを開く必要はありません。Powershell内からこれを達成する簡単な方法はありますか?

回答:


29

私が今日のPowershellのヒントからこれを得たことはかなり確かです。確かに思い出せませんが、私はそれを長い間使ってきており、とても便利です。

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"

編集:使いやすくするため(毎回このことを覚えて入力する必要はありません)、次のように関数としてプロファイルに追加できます。

function Get-Size
{
 param([string]$pth)
 "{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}

そして、他のコマンドと同じように使用します。

Get-size C:\users\administrator

1
興味がありますが、これをPowerShellプロファイルに追加するにはどうすればよいですか?ドットソーシングという意味ですか?(補足:コードは、先頭に4つの空白スペースを追加することでフォーマットできます)
-nixda

2
あなたはできる 。変更を加えてPSセッションを再起動したくない場合はプロファイルを取得しますが、Powershellを起動するたびにプロファイルが自動的に読み込まれるため、通常はそれを行いません。プロファイルを初めて作成するには、次の手順を実行します。ni $ profile -type f -foその後、プロファイルを開いて編集できます。場所を見つけるには、シェルに$ profileと入力するだけで、パスが表示されます。その後、上記のような追加した関数は、組み込みのように利用できます。コードフォーマットのヒントもありがとう
Darian Everett

1
+1おっと、そのトリックを知らなかった。魅力的な:)
nixda

1
何を{0:N2}するの?
-soandos

1
フォーマット。ゼロはプレースホルダーです。N2は、小数点以下2桁の数字であることを意味します。
ダリアンエベレット

9

こちらのMicrosoft Technetサイトにあります

入力:

Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum

出力:

Count    : 58
Average  :
Sum      : 1244611
Maximum  :
Minimum  :
Property : length

1
ただし、フォルダーにサブフォルダーがあるかどうかを再帰的に確認する必要があるため、これはかなり遠いことがよくあります。また、その測定値は何ですか?
オースティンTフランス語

それを少し修正します-また、編集していない再帰スイッチを含めるのを忘れました-また、主にGoogleが見つけたこれらの検索の実行に関するtechnetの記事を提供するために投稿したことに注意してください(powershellフォルダサイズ)コマンドは答えだけでなく
50-3

更新のおかげで、Q&A形式がより適切になりました。
オースティンTフランス語
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.