繁体   English   中英

如何使用Get-ChildItem在具有特定名称的目录中查找文件?

[英]How to find files in directories with certain name using Get-ChildItem?

我有一个名为topfolder的项目文件夹,我想在所有子文件夹中查找与某个模式匹配的所有文件,例如当文件夹在其名称中包含foo ,我想列出其中的所有文件。

我尝试过类似的东西:

gci .\topfolder -rec -filter *foo*

但它有两个问题:

  1. 只列出实际包含foo文件(我想要foo类文件夹中的任何文件)。
  2. 与此过滤器匹配的目录也将成为结果集的一部分。

然后我尝试了这个:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM