这是我编写脚本的第二天,也是我刚读完PowerShell的前一周。 我被赋予了一个任务,可以从几个子文件夹中挑选出特殊的configurations.zip项目。太大了。 所以我搜索了大于1 KB的文件夹,以防止出现空文件夹的错误..
现在我想通过以下操作按长度对文件夹进行排序:
$_.Length -gt 10KB
$_.PSIsContainer -eq $True
问题:我如何在一行中使用2个管道甚至更多的操作。 现在我的脚本当然会覆盖所有其他操作。
我找到了显示可能的页面: http://technet.microsoft.com/en-us/library/ee176927.aspx
但是当我只是尝试接着做两个操作时,我的脚本给了我一个错误。 所以:我如何编写这两个操作才能工作。
非常感谢!
我的剧本:
$startFolder = "C:\data1"
$colItems = (Get-ChildItem $startFolder -recurse | Measure-Object -property length -sum)
"Mother of all Folders $startFolder -- " + "{0:N2}" -f ($colItems.sum / 1MB) + " MB"
**$colItems = (Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True} )
$colItems = (Get-Childitem $startFolder -recurse | where-Object {$_.Length -gt 1000KB} | Sort-Object Length -descending)**
foreach ($i in $colItems)
{
$subFolderItems = (Get-ChildItem $i.FullName | Measure-Object -property length -sum)
$i.FullName + " -- " + "{0:N2}" -f ($subFolderItems.sum / 1MB) + " MB"
}
答案 0 :(得分:1)
我不确定我完全理解,但您可以使用-and
运算符
$colItems = Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True -and $_.Length -gt 1000KB} | Sort-Object Length -descending)