powershell - 过滤带有名称的文件
问题描述
我需要一些建议,有很多这样的文件
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
谢谢
解决方案
您可以为此提供多种解决方案。
尝试
文件名非常准确:
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'}
推荐阅读
- java - 第一个片段替换为第二个片段后,如何打开导航抽屉
- javascript - iframe 中的 Vue.js 页面未在 Firefox 上显示
- angular - 角http获取请求
- python - 下载链接不适用于 python 中的 azure.storage.fileshare
- php - PHP试图获取非对象的属性'full_name'
- android - 使用 MediaRecorder 录制屏幕 Android 11 - 文件已创建但无法录制视频
- python-3.x - Flask 从数据库中导出数据
- asp.net-core-webapi - 在身份服务器 4 中生成访问令牌
- javascript - 与状态相关的每 5 秒运行一次方法
- php - ERROR PHP: Unexpected Class 但找不到错误