首页 > 解决方案 > 过滤带有名称的文件

问题描述

我需要一些建议,有很多这样的文件

2011-05-02_11-10-00_1092_25240
2021-03-01_14-05-00_5008_537540
2011-04-02_13-00-00_2001_537540
2014-03-02_21-00-00_1029_239440

我需要在位置 21 找到所有 1 的文件,

2011-05-02_11-10-00_1092_25240
2014-03-02_21-00-00_1029_239440

谢谢

标签: powershell

解决方案


您可以为此提供多种解决方案。

尝试

文件名非常准确:

Get-ChildItem -Path 'D:\Test' -File | Where-Object {$_.BaseName -match '^\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}_1\d+_\d*'}

或不太精确:

Get-ChildItem -Path 'D:\Test' -File | Where-Object {($_.BaseName -split '_')[2] -match '^1'}

或者

Get-ChildItem -Path 'D:\Test' -File | Where-Object {$_.BaseName -match '1\d+_\d+$'}

或者

Get-ChildItem -Path 'D:\Test' -File | Where-Object {$_.BaseName -match '^[\d-]+_[\d-]+_1'}

推荐阅读