我在生产服务器上有一个PowerShell脚本,向我显示超过30天的数据库备份文件列表。
我只需要查看扩展名为“.bak”的文件。但是,在我的脚本中没有匹配的语法或regular expression,所以我也看到了一个扩展名为“filename.foo.bak”的文件列表。这些文件可能是服务器上的文本文件或其他配置文件,由使用这些文件的程序自动进行备份。
如何启用匹配过滤器以便我只看到“* .bak”而不是上面提到的其他文件?
如mjolinor所述,我使用此脚本进行排除。
gci $paths -recurse -filter *.bak -exclude *.*.bak | ?{!$_.psiscontainer}
但是,我了解到我需要排除一些系统文件夹,例如 C:\ Windows 。 如何实现这一目标呢?
答案 0 :(得分:2)
试试这个:
gci *.bak -exclude *.*.bak
我试图回复你的评论,但代码没有正确显示。 -exclude采用string []参数,所以:
gci -recurse -filter *.bak -exclude *.*.bak,windows |? {!$_.psiscontainer}