Powershell中为什么目录大小为“1”


偶尔,你会发现获取的文件夹有一个字节的大小。这个发现来自Powershell3.0。在2.0中他们将不返回任何大小。

$folder = Get-Item c:\Windows
$folder.Length

这种现象是一特性引起的,一个对象如果即没有Count也没有Length就将得到初始值1。

PS> $host.length
1
PS> $host.Count
1
PS> (Get-Date).Length
1
PS> (Get-Date).Count
1
PS> $ConfirmPreference.Length
1
PS> $ConfirmPreference.Count
1

在过去,通常只有数组能返回大小(或数量)。所以当命令或函数将只返回一个结果(或什么都没有),这时这个结果还没有存到数组中去并且尝试去获取结果数,引起了这个错误。

对于这个新的“特性”,如果命令只返回一个对象,那么添加的“数量”属性将总是返回“1”,将总会得到一个返回的元素。

原文地址:Why Directories Have a Size of 1

×用微信扫描并分享
本文链接: https://www.pstips.net/why-directories-have-a-size-of-1.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

邮箱地址不会被公开。 必填项已用*标注