ネットワークフォルダのサイズを決定する

ネットワークフォルダのサイズを決定する

\\pmintl.net\rbsdata\SPA_BB01多数のサブフォルダーを含む、サイズが約 100 TB のネットワーク フォルダー ( ) のサイズを取得する PowerShell スクリプトが必要です。

さまざまなスクリプトを試しましたが、うまくいきませんでした (以下は試したスクリプトの例ですが、ハングしているようです)。

$startFolder = "\\pmintl.net\rbsdata\SPA_BB01"
"Folder use {0:0,0.00} MB" -f ((Get-ChildItem -R $startFolder | measure-object length -Sum).Sum / 1TB)

答え1

以下は 2 つの PowerShell スクリプトです。最初のスクリプトはフォルダー全体のサイズを取得し、2 番目のスクリプトは各サブフォルダーの内訳を提供します (フォルダーが非常に大きい場合は、取得に時間がかかる可能性があることに注意してください)。

フォルダ:

$colItems = (Get-ChildItem "\\pmintl.net\rbsdata\SPA_BB01" -recurse | Measure-Object -property length -sum)
"{0:N2}" -f ($colItems.sum / 1MB) + " MB"

サブフォルダーを含むフォルダー:

$startFolder = "\\pmintl.net\rbsdata\SPA_BB01"

$colItems = (Get-ChildItem $startFolder | Measure-Object -property length -sum)
"$startFolder -- " + "{0:N2}" -f ($colItems.sum / 1MB) + " MB"

$colItems = (Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True} | Sort-Object)
foreach ($i in $colItems)
    {
        $subFolderItems = (Get-ChildItem $i.FullName | Measure-Object -property length -sum)
        $i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum / 1MB) + " MB"
    }

取得できるプロパティや追加情報についてさらに詳しく説明しているこの TechNet の記事を確認することをお勧めします。

https://technet.microsoft.com/ja-jp/library/ff730945.aspx

関連情報