使用Powershell从Azure存储子容器中删除所有文件

时间:2018-05-25 17:21:53

标签: powershell azure-storage

我有一个容器名称A,其中有一个子容器B.

我希望PowerShell脚本删除B中的所有blob。

2 个答案:

答案 0 :(得分:1)

对于子容器,是指容器下的虚拟目录。如果是这样,您可以尝试运行以下脚本来删除容器下虚拟目录中的Blob。在运行脚本之前更改容器名称,dirpath。

例如,以下脚本将删除所有blob:testcontainer / dir1 / dir2 /,如testcontainer / dir1 / dir2 / blob1

$ctx = New-AzureStorageContext -StorageAccountName $accountname -StorageAccountKey $accountKey

$ContainerName = "testcontainer"
$dirpath = "dir1/dir2/"

$MaxReturn = 250
$Total = 0
$Token = $Null
do
{
    $Blobs = Get-AzureStorageBlob -Container $ContainerName -prefix $dirpath -MaxCount $MaxReturn  -ContinuationToken $Token  -Context $ctx
    $Total += $Blobs.Count

    $Blobs | Remove-AzureStorageBlob

    if($Blobs.Length -le 0) { Break;}
    $Token = $Blobs[$blobs.Count -1].ContinuationToken;
}
While ($Token -ne $Null)

答案 1 :(得分:0)

Windows Azure没有提供分层容器的概念。实际上只有一层容器。