Azure CLI - 使用模式删除存储帐户中的文件

问题描述 投票:0回答:3

我的容器中有以下文件和目录。

我需要删除除 mf 文件夹及其内容之外的所有文件和目录。 我使用这个命令:

az storage blob delete-batch --source 'CONTAINER' --account-name STORAGE_ACCOUNT --pattern '[!mf]*'

该命令不仅避免删除mf目录,还避免删除以字母m和f开头的文件的问题

有没有办法修改模式以包含以 m 和 f 开头的文件?

azure-storage azure-cli
3个回答
0
投票

我需要删除除 mf 文件夹及其内容之外的所有文件和目录。

您可以使用Powershell作为替代方法来实现删除除mf文件夹及其内容之外的所有文件和目录。

命令:

$ctx = New-AzStorageContext -StorageAccountName 'venkat123' -StorageAccountKey 'your-storage-account-key'
$containerName = "test"
$prefix = ""
$blobs = Get-AzStorageBlob -Container $containerName -Context $ctx -Prefix $prefix
foreach ($blob in $blobs) {
    if ($blob.Name -notlike "mf/*") {
        Remove-AzStorageBlob -Blob $blob.Name -Container $containerName -Context $ctx
    }
}

最初,我有一个文件结构。

enter image description here

当我使用上述命令时,它会删除除 mf 文件夹之外的所有文件和文件夹。

输出: enter image description here

传送门: enter image description here


0
投票

要继续使用 az cli 命令,我使用了以下命令

blob=$(az storage blob list -c '$web' --account-name "$SA_NAME" --query "[].{name:name}" --output tsv)
prefix="mf"

for b in $blob
do
  if [[ "$b" != "$prefix"* ]];
  then
    az storage blob delete -c '$web' --account-name "$SA_NAME" -n "$b"
  fi
done

0
投票

我们可以使用此命令删除容器内的文件。

az 存储 blob 删除批量 --account-key --account-name --source --delete-snapshots include

© www.soinside.com 2019 - 2024. All rights reserved.