如何计算这个bat命令的结果

时间:2018-01-18 18:05:28

标签: powershell batch-file

我想出了这个命令来显示具有特定大小的目录中的所有文件:

Get-ChildItem -path Z:\htdocs\zz -recurse | where { $_.Length -eq 2254 }

现在我想知道如何返回很多结果......我该怎么做?

使用测量我可以计算,但我不能将它与数字进行比较...例如,我想将它与3进行比较,如果它等于3个文件我想做一些事情。

修改

我也想删除这些文件。我想出了这个代码,但它实际上并没有删除文件,并且最后没有显示删除的文件数量:

Get-ChildItem -path Z:\htdocs\zz | where { $_.Length -eq 2254 } | ?{Remove-Item $_.fullname -WhatIf}

2 个答案:

答案 0 :(得分:2)

Measure-Object cmdlet可以计算对象。

$objectCount = Get-ChildItem Z:\htdocs\zz -Recurse |
  Where-Object { $_.Length -eq 2254 } |
  Measure-Object |
  Select-Object -ExpandProperty Count

您需要Count输出对象的Measure-Object属性。

答案 1 :(得分:1)

试试这个:

$(Get-ChildItem -path Z:\htdocs\zz -recurse | where { $_.Length -eq 2254 }).Count

将其放在括号中并将$添加“说出”到结果对象,然后可以使用对象函数Count