Azure CLI:存储Blob删除批处理可删除除两个目录之外的所有Blob

时间:2019-08-29 15:47:41

标签: azure azure-storage azure-storage-blobs azure-cli

我有一个PowerShell脚本,当前可以删除$ web容器中的所有blob。

az storage blob delete-batch --account-name myaccountname --source $web

这很好用,但是现在我要排除两个目录,以免它们被删除。我查看了the documentation,但仍然不确定排除语法应该如何显示。

我确定我必须使用--pattern参数。

  

用于在源文件中遍历文件或Blob的模式。支持的模式是“ *”,“?”,“ [seq]”和“ [!seq]”。

我希望有人能让我知道--pattern参数的值,这样我才能删除$ web容器中除/aaa和{{ 1}}目录。

/bbb

1 个答案:

答案 0 :(得分:1)

根据我的测试,如果要参数--pattern以排除要删除的目录,则可以使用表达式'[[!]]'

az storage blob delete-batch --source <container_name> --account-name <storage_account_name> --pattern '[!<folder name>]*'

例如:

  1. 运行命令之前,容器的结构如下。

enter image description here

  1. 运行命令
    az storage blob delete-batch --source test --account-name blobstorage0516 --pattern '[!user&&!people]*'
  1. 运行命令后,容器的结构如下。

    enter image description here