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

如何用PowerShell将目录下文件夹名存入数组并排除指定文件夹

PowerShell 筛选子文件夹并排除特定项的正确写法

你的当前代码存在问题:Foreach-Object {$_.fullName -notmatch 'Pending'} 返回的是布尔值(True/False),而非你需要的文件夹名称数组,无法得到预期结果。以下是两种正确的实现方式:

方式一:通过路径模糊排除

如果需要排除路径中包含指定关键词的文件夹,可将过滤逻辑整合到 Where-Object 中,同时用 -Directory 参数直接筛选文件夹,简化代码:

$myMonthFoldersArray = Get-ChildItem $myPathToYearFolder -Directory | Where-Object { $_.FullName -notmatch 'PendingClaims' } | Select-Object -ExpandProperty FullName

方式二:精确匹配文件夹名称排除

如果只需要排除名称正好是PendingClaims的子文件夹(避免误删路径中其他含Pending的文件夹),可以针对文件夹名称做判断:

$myMonthFoldersArray = Get-ChildItem $myPathToYearFolder -Directory | Where-Object { $_.Name -ne 'PendingClaims' } | Select-Object -ExpandProperty FullName

额外说明

  • 若你只需要文件夹的名称(而非完整路径),将代码中的 FullName 替换为 Name 即可。
  • PowerShell 3.0及以上版本支持 -Directory 参数,若使用更低版本,可保留 Where-Object {$_.PSIsContainer} 替代。

内容的提问来源于stack exchange,提问作者mfgriggs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:26:00