我的容器中有以下文件和目录。
我需要删除除 mf 文件夹及其内容之外的所有文件和目录。 我使用这个命令:
az storage blob delete-batch --source 'CONTAINER' --account-name STORAGE_ACCOUNT --pattern '[!mf]*'
该命令不仅避免删除mf目录,还避免删除以字母m和f开头的文件的问题
有没有办法修改模式以包含以 m 和 f 开头的文件?
我需要删除除 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
}
}
最初,我有一个文件结构。
当我使用上述命令时,它会删除除 mf 文件夹之外的所有文件和文件夹。
输出:
传送门:
要继续使用 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
我们可以使用此命令删除容器内的文件。
az 存储 blob 删除批量 --account-key