You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell筛选符合特定文件存在条件的嵌套子目录问题求助

PowerShell筛选符合特定文件存在条件的嵌套子目录问题求助

我折腾了好几个小时,查了各种文档和相关论坛的方法,还是没法按条件筛选出大量嵌套文件夹,实在没辙了来求助!

我的需求很明确:要在一个有数千个嵌套子目录的music文件夹里,找出所有层级的子目录,同时满足两个条件:

  • 该目录的直接子文件里至少有一个.mp3文件
  • 该目录的直接子文件里没有名为√.txt的文件

比如下面这个结构,应该返回album目录:

-music
--artist
---album
----song1.mp3

而下面这个结构里的album目录会被跳过,因为它有√.txt这个直接子文件:

-music
--artist
---album
----√.txt
----song1.mp3

我尝试了这条命令:

gci -recur -dir | ? { !(gci $_ -file -recur -filter √.txt) -and (gci $_ -file -recur -filter *.mp3) } | select name

但达不到预期效果。后来我简化了命令,只测试筛选有.mp3直接子文件的目录:

gci -recur -dir | ? { (gci $_ -file -recur -filter *.mp3) } | select name

结果更奇怪——它只返回当前目录的直接子文件夹(比如“rock”“jazz”这类分类文件夹),完全没遍历到嵌套深处的专辑目录。

给大家看一段实际的文件夹结构参考:

Directory: D:\music\rock\90s\Stereolab\albums:
1992 - Peng!
1992 - Switched On
1994 - Mars Audiac Quintet

希望能有人帮我解决这个问题,如果需要更多信息或者我表述不清楚的地方,随时告诉我!

备注:内容来源于stack exchange,提问作者Michael Scoggins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:28:12