我正在尝试在目录及其子目录中创建一个包含所有jpgs的CSV文件,该子目录大于100 KB且后缀为" _lowRes.jpg"。
想要使用Powershell。
请帮忙吗?
答案 0 :(得分:2)
实际上这很简单!
您将使用两个单独的过滤器执行此操作,PowerShell通过Where-Object
cmdlet实现这些过滤器。此cmdlet接受{$_.PropertyName -eq "Something"}
或PropertyName -eq "Something"
格式的比较。后一种格式仅适用于PowerShell v3及更高版本。
首先,只过滤到100KB以上的文件。
Where-Object Length -ge 100KB
第二部分,文件名包含的内容。
Where-object Name -like "*lowRes.jpg*"
你可以加入他们,但我会把一个管道输入另一个,就像这样。
dir *.jpg -Recurse | Where-Object Length -ge 100KB | Where-object Name -like "*lowRes.jpg*"
您可能希望首先放置名称过滤,因为较少的文件将具有某个名称,而不是高于或低于特定大小。取决于文件的布局方式。
最后,将所有内容传递到Export-Csv
cmdlet和bam中,你就完成了!
答案 1 :(得分:0)
你可以这样做:
Get-ChildItem "C:\temp" -Recurse -file -filter "*_lowRes.jpg" |
Where Length -ge 100KB | select fullname, Length |
export-csv "c:\temp\result.csv" -NoType
短版(不是纯粹主义者):
gci "C:\temp" -Rec -file -filter "*_lowRes.jpg" | ? L -le 100KB | select fu*, le* | epcsv "c:\temp\result.csv" -Not