決定網路資料夾的大小

決定網路資料夾的大小

我想要一個 PowerShell 腳本來取得大約 100TB 的網路資料夾 ( \\pmintl.net\rbsdata\SPA_BB01) 的大小,其中包含許多子資料夾。

我嘗試過各種腳本,但沒有任何運氣(以下是我嘗試過的一個示例,但這似乎掛起):

$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

以下是兩個 PowerShell 腳本,第一個取得整個資料夾的數量,第二個提供每個子資料夾的細分(請記住,如果資料夾很大,這可能需要一些時間才能取得)...

資料夾:

$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/en-us/library/ff730945.aspx

相關內容