Powershell返回与实际不同的文件大小

问题描述

Powershell在使用file.Length命令查询mp4文件时返回不同的文件大小32029227

实际文件大小为Get-Item

还尝试使用Get-ItemPropertyValue***Console*** PS C:\Users\User0\Desktop\kcg_transcode> dir Directory: C:\Users\User0\Desktop\kcg_transcode Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 19-08-2020 15:59 32029227 Produce.mp4 PS C:\Users\User0\Desktop\kcg_transcode> $pd_output = 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4'.Length PS C:\Users\User0\Desktop\kcg_transcode> $pd_output 46 PS C:\Users\User0\Desktop\kcg_transcode> $pd_output = (Get-Item 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4').Length Get-Item : Cannot find path 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4' because it does not exist. At line:1 char:15 + ... d_output = (Get-Item 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4' ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:\Users\User0\...ert\Produce.mp4:String) [Get-Item],ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.Getitemcommand PS C:\Users\User0\Desktop\kcg_transcode> Get-ItemPropertyValue 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4' -Name Length Get-ItemPropertyValue : Cannot find path 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4' because it does not exist. At line:1 char:1 + Get-ItemPropertyValue 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:\Users\User0\...ert\Produce.mp4:String) [Get-ItemPropertyValue],Microsoft.PowerShell.Commands.GetItemPropertyValueCommand ,但Powershell找不到该文件,即使该文件明确存在。

为什么会有这种差异?

{{1}}

解决方法

Powershell返回字符串值,而不是下面命令中的实际文件大小-

 $pd_output = 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4'.Length

在Get-Item和Get-ItemPropertyValue中,缺少-Path标志。提供此标志后,将返回正确的文件大小。

 $pd_output = (Get-Item -Path 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4').Length  

 $pd_output = Get-ItemPropertyValue -Path 'C:\Users\User0\Desktop\kcg_convert\Produce.mp4'  -Name Length