[英]How to find files in directories with certain name using Get-ChildItem?
我有一个名为topfolder
的项目文件夹,我想在所有子文件夹中查找与某个模式匹配的所有文件,例如当文件夹在其名称中包含foo
,我想列出其中的所有文件。
我尝试过类似的东西:
gci .\topfolder -rec -filter *foo*
但它有两个问题:
foo
文件(我想要foo类文件夹中的任何文件)。 然后我尝试了这个:
gci .\topfolder\*foo* -include *.*
但这根本不起作用 - 显然,通配符只匹配路径的一个段,因此模式将匹配topfolder\\foobar
但不匹配topfolder\\subfolder\\foobar
。
我到目前为止找到的唯一方法是使用Get-ChildItem两次,如下所示:
gci .\topfolder -rec -include *foo* | where { $_.psiscontainer } | gci
这有效,但两次调用gci
似乎是浪费,我希望我找不到像-Path
, -Filter
或-Include
这样的正确的通配符表达式。
最好的方法是什么?
我会使用Filter参数而不是Include,它会执行很多胖
gci .\topfolder -rec -filter *foo* | where { $_.psiscontainer } | gci
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.