首页 > 解决方案 > 管道子项目

问题描述

我正在编写一个 PowerShell 脚本,该脚本抓取一个文件夹$file和所有子项并将它们传递给。这是我的脚本:

foreach-object -process {if (!$_.PSIsContainer) {$_.Name; $_.Length -gt 1mb; " " }}

这将返回每个具有 True 和 False 的子项,具体取决于它们是否大于 1mb。

但是我想做的是让他们返回文件大小和名称,如果它们大于 1mb。

我如何让他们返回此信息?

标签: powershell

解决方案


将您的过滤器和属性选择分开

Get-ChildItem C:\Downloads\ -file | ? {$_.Length -gt 1mb} | select name,length

请注意,将-File结果限制为文件而非目录的 switch 参数需要 PowerShell 版本 3 或更高版本。在版本 2 中,坚持使用-not $_.PSIsContainer( Where-Object)?块。


推荐阅读