「 WindowsPowerShellの今週のヒント」に示されているスクリプトのわずかに変更されたバージョンがあります。アイデアは、フォルダとそのサブフォルダのサイズを決定することです。
$startFolder = "C:\Temp\"
$colItems = (Get-ChildItem $startFolder | Measure-Object | Select-Object -ExpandProperty count)
"$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"
}
このスクリプトは正常に実行されますが、特定のフォルダーで次のようなエラーが発生します。
Measure-Object : Property "length" cannot be found in any object(s) input.
At line:10 char:70
+ $subFolderItems = (Get-ChildItem $i.FullName | Measure-Object <<<< -property length -sum)
+ CategoryInfo : InvalidArgument: (:) [Measure-Object], PSArgumentException
+ FullyQualifiedErrorId : GenericMeasurePropertyNotFound,Microsoft.PowerShell.Commands.MeasureObjectCommand
このエラーの理由と、克服するためにスクリプトを改良する方法は何ですか?