Powershell使用" _lowRes.jpg"创建文件的CSV。某个文件大小

时间:2017-01-19 16:07:28

标签: powershell csv search directory filenames

我正在尝试在目录及其子目录中创建一个包含所有jpgs的CSV文件,该子目录大于100 KB且后缀为" _lowRes.jpg"。

想要使用Powershell。

请帮忙吗?

2 个答案:

答案 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