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

修改PowerShell命令以删除S3存储桶中90天以上的文件(无需指定日期)

改造PowerShell命令实现S3存储桶90天前文件自动删除

原命令依赖手动指定日期筛选旧文件,现在改为自动计算90天前的日期,无需手动输入,修改后的完整命令如下:

$bucketname = "bucketname"
# 计算当前日期往前推90天的日期,转为AWS API兼容的格式
$cutoffDate = (Get-Date).AddDays(-90).ToString("yyyy-MM-dd")
$key = aws s3api list-object-versions --bucket $bucketname --output json --query "Versions[?LastModified<=\`"$cutoffDate\`"].{VID:VersionId, Obj:Key}" | ConvertFrom-Json
Write-host "Removing desired Objects From: $bucketname" -foregroundcolor red
Foreach ($output in $key)
{
    $delete = aws s3api delete-object --bucket $bucketname --key ($output).Obj --version-id ($output).VID --output text
    $output.Obj 
}

关键修改点说明:

  • 新增$cutoffDate变量:通过Get-Date获取当前系统日期,用AddDays(-90)计算90天前的日期,再用ToString("yyyy-MM-dd")转换成AWS接口能识别的日期格式
  • 替换查询参数中的硬编码日期:把原本固定的2022-08-26替换为动态计算的$cutoffDate,同时转义双引号保证参数传递正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:40:53