使用AWS CLI删除S3存储桶中的多个子文件夹

时间:2019-01-16 10:40:45

标签: amazon-web-services amazon-s3

是否可以使用AWS CLI在S3中删除多个子文件夹?在documentation中指定了include and exclude命令,但是我认为这是针对S3项目而不是文件夹?

尝试过此命令,但它不起作用aws s3 rm s3://bucketname/*/*/foldertodelete --recursive

Sample folder structure:

bucketname/folder/subfolder/itemfolder
bucketname/folder/subfolder/foldertodelete

bucketname/anotherfolder/subfolder/itemfolder
bucketname/anotherfolder/subfolder/foldertodelete

bucketname/andanotherfolder/andsubfolder/itemfolder
bucketname/andanotherfolder/andsubfolder/foldertodelete

我错过了什么吗?任何帮助,将不胜感激。谢谢

2 个答案:

答案 0 :(得分:1)

尝试以下操作:(请确保在运行命令之前创建了备份,以避免任何意外的结果

aws s3 rm s3://bucketname/ --exclude "*" --include "*foldertodelete/*" --recursive

命令的path参数不支持通配符。

答案 1 :(得分:0)

您可以使用多个 --include

aws s3 rm s3://bucket --recursive --include "folder1/*" --include "foo/folder2/*"

...以及多个 --exclude

注意:--include--exclude 的顺序很重要,它们是按顺序应用的。如果未给出任何内容,则默认值为 --include "*"