我使用以下代码将文件的lastwritetime列表导出到csv文件中
LS c:\ somepath |选择名称,lastwritetime | export-csv C:\ x.csv
如何设置过滤器并排除所有文件夹或某些文件类型。
由于
更新
我试过{$ _。extension -eq“.zip”},但它没有返回任何内容
答案 0 :(得分:1)
我们将一次解决您的2项要求。我将从排除文件夹开始。根据您使用的PowerShell版本,这可能非常简单。如果您使用的是v3或更高版本,则只需使用-Files开关即可排除文件夹。它会这样做:
LS C:\somefolder -files | select Name, LastWriteTime | export-csv c:\path\file.csv -notype
如果您使用的是v2或更早版本,则需要在使用Where语句拉取目录列表后进行过滤(我使用缩短的术语?{}而不是Where {})。
LS C:\somefolder | ?{!$_.PSIsContainer} | Select Name, LastWriteTime | Export-CSV c:\path\file.csv -notype
接下来,为了排除.Zip文件,您可以使用-Exclude参数排除内容。您希望以逗号分隔的字符串列出内容,例如“ .Zip, .7z,*。rar”,它将排除Zip,7z和Rar存档。你会这样做:
gci C:\somefolder -Exclude "*.zip" | Select Name, LastWriteTime | Export-Csv C:\path\file.csv -notype
所以要把它们放在一起你会做类似的事情:
gci C:\somefolder -Exclude "*.zip" | ?{!$_.PSIsContainer} | Select Name, LastWriteTime | Export-Csv C:\path\file.csv -notype
答案 1 :(得分:0)
-exlude :
怎么样?ls c:\somepath -exclude *.zip | select name, lastwritetime | export-csv C:\x.csv
顺便说一句 ls 是Get-ChildItem
的别名