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

Windows服务器下AWS CLI递归列出含特定子串文件的问题

解决Windows下AWS CLI递归筛选含特定子串的文件问题

方法1:使用CMD命令行

直接结合aws s3 ls --recursive和FINDSTR实现过滤,注意Windows CMD中使用双引号或直接指定匹配串:

aws s3 ls s3://你的存储桶/目标路径/ --recursive | FINDSTR "_2021_"

如果需要更精确匹配文件名(而非路径中的目录名),可以调整FINDSTR的参数,比如用正则匹配文件名部分:

aws s3 ls s3://你的存储桶/目标路径/ --recursive | FINDSTR /R "_2021_.*\."

方法2:使用PowerShell

PowerShell的文本处理能力更强,适合复杂筛选:

  1. 基础筛选(保留完整输出行):
aws s3 ls s3://你的存储桶/目标路径/ --recursive | Select-String "_2021_"
  1. 仅提取文件名(去掉日期、大小列):
aws s3 ls s3://你的存储桶/目标路径/ --recursive | Select-String "_2021_" | ForEach-Object { $_.Line.Split()[-1] }

常见报错原因说明

你之前的命令报错大概率是以下问题:

  • Windows CMD不识别单引号,若你用了FINDSTR '_2021_'会触发语法错误,需改用双引号或直接写匹配串
  • 未正确处理含空格的S3路径,若路径包含空格,需将路径用双引号包裹,比如"s3://你的存储桶/带空格的路径/"

注:AWS CLI的s3 ls命令确实不支持--include/--exclude参数,这些参数仅适用于s3 cp、s3 sync等数据传输类命令,因此必须借助系统自带的文本过滤工具实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 11:45:58