0

这是我编写脚本的第二天,也是我刚刚阅读有关 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"
}
4

1 回答 1

1

我不确定我是否完全理解,但您可以使用-and运算符

$colItems = Get-ChildItem $startFolder -recurse | Where-Object {$_.PSIsContainer -eq $True -and $_.Length -gt 1000KB} | Sort-Object Length -descending)
于 2013-06-21T10:54:04.050 回答