首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Measure-Object :在任何对象的输入中都找不到属性"length“

Measure-Object :在任何对象的输入中都找不到属性"length“
EN

Stack Overflow用户
提问于 2017-04-09 23:40:18
回答 1查看 11.1K关注 0票数 9

我正在创建一个菜单,其中一个选项是报告指定文件夹的文件夹大小,并将其显示给用户。在我输入文件夹名称后

代码语言:javascript
复制
cls
$Path = Read-Host -Prompt 'Please enter the folder name: '

$FolderItems = (Get-ChildItem $Path -recurse | Measure-Object -property length -sum)      

$FolderSize = "{0:N2}" -f ($FolderItems.sum / 1MB) + " MB"

我得到以下错误:

代码语言:javascript
复制
Measure-Object : The property "length" cannot be found in the input for any objects.
At C:\Users\Erik\Desktop\powershell script.ps1:53 char:48
+ ... (Get-ChildItem $Path -recurse | Measure-Object -property length -sum)
+                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Measure-Object], PSArgumentException
    + FullyQualifiedErrorId : GenericMeasurePropertyNotFound,Microsoft.PowerShell.Commands. 
   MeasureObjectCommand
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-09 23:52:18

文件夹中没有文件,因此您只能得到没有length-property的DirectoryInfo-objects。您可以使用以下命令过滤仅限文件的文件来避免此问题:

代码语言:javascript
复制
(Get-ChildItem $Path -Recurse | Where-Object { -not $_.PSIsContainer } | Measure-Object -property length -sum) 

或PS 3.0+

代码语言:javascript
复制
(Get-ChildItem $Path -Recurse -File | Measure-Object -property length -sum)
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43308663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档