如何使用PowerShell获取Azure容器中的仅一级父文件夹
获取Azure存储容器根目录的一级文件夹
Azure Blob存储不存在实际的文件夹结构,所谓的“文件夹”是通过Blob名称中的/分隔符虚拟出来的。要提取容器根目录下的一级父文件夹,可通过以下步骤实现:
- 筛选出所有包含
/的Blob名称(排除根目录的独立文件) - 拆分Blob名称,提取第一个
/之前的部分作为一级文件夹名 - 去重得到唯一的一级文件夹列表
对应的PowerShell代码:
$blobs = Get-AzStorageBlob -Context $context -Container $container.Name # 提取并去重一级文件夹名称 $rootLevelFolders = $blobs.Name | Where-Object { $_ -like '*/*' } | ForEach-Object { ($_ -split '/')[0] } | Select-Object -Unique # 输出结果 $rootLevelFolders | ForEach-Object { Write-Host $_ }
代码说明
Where-Object { $_ -like '*/*' }:过滤掉根目录下没有子路径的独立文件,只保留属于文件夹的Blob($_ -split '/')[0]:将Blob名称按/拆分,取第一个元素即为一级文件夹名称Select-Object -Unique:去除重复的文件夹名称,确保每个一级文件夹仅显示一次
如果需要同时排除根目录的独立文件,只保留一级文件夹,上述代码即可满足需求。
内容的提问来源于stack exchange,提问作者QuestionMan
相关产品推荐
相关产品推荐

