我使用下面的代码将文件的最后写时间列表导出到csv文件中
LS c:\somepath \somepath选择名称,最后写时\导出-csv C:\x.csv
如何设置筛选器并排除所有文件夹或某些文件类型。
谢谢
更新
我尝试过{$_.extension -eq ".zip"},但它没有返回任何内容。
发布于 2014-04-07 16:27:04
我们会一次解决你的两个需求。我先从排除文件夹开始。根据您使用的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发布于 2014-04-07 09:23:53
-exlude怎么样?
ls c:\somepath -exclude *.zip | select name, lastwritetime | export-csv C:\x.csv顺便说一下,ls是得到-儿童的别名。
https://stackoverflow.com/questions/22907962
复制相似问题