首页 > 解决方案 > Powershell:将文件夹结构从本地驱动器复制到 blob 存储

问题描述

您好,我是 azure 门户和 powershell 的新手。

我正在尝试将本地驱动器复制到 blob 存储,同时保持文件夹结构。拥有一个清单文件也很好,它还给了我一个文件夹列表和每个文件的列表。

非常感谢任何建议和帮助。

标签: powershellazure-blob-storage

解决方案


如果要使用 Azcopy 上传目录,我们可以使用以下脚本。更多详情,请参考这里

azcopy copy "E:\sampleData" "https://<accountName>.blob.core.windows.net/<path>?<sasToken>" --recursive

在此处输入图像描述

此外,您还可以使用以下 PowerShell 脚本来执行此操作

$StorageAccountKey=" "
$sourceFileRootDirectory=" "
$StorageAccountName=" "
$ContainerName=" "
$ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
$container = Get-AzureStorageContainer -Name $ContainerName -Context $ctx

 if ($container) {
        $filesToUpload = Get-ChildItem $sourceFileRootDirectory -Recurse -File

        foreach ($x in $filesToUpload) {
            $blobName = ($x.fullname.Substring($x.PSDrive.Root.Length)).Replace("\", "/")

            Set-AzureStorageBlobContent -File $x.fullname -Container $container.Name -Blob $blobName -Context $ctx -Force:$Force 
        }
}

推荐阅读