【问题标题】:How to move the files from one folder to other folder in Storage Account Container如何将文件从一个文件夹移动到存储帐户容器中的另一个文件夹
【发布时间】:2021-03-13 05:15:40
【问题描述】:

我在 Azure 中有存储帐户,其中包含文件夹内的文件。我想使用 PowerShell 脚本将 .txt 和 .csv 文件从一个文件夹移动到同一存储帐户容器中的另一个文件夹。

那么,谁能建议我如何做到这一点?

【问题讨论】:

  • 移动文件好像没有直接的方法,需要先复制再删除。

标签: azure powershell azure-storage azure-blob-storage


【解决方案1】:

在 Swishonary 的回复中添加完整的步骤:

$context = New-AzureStorageContext -StorageAccountName {accountName} -StorageAccountKey {Enter your storage account key here}
$Blobs = Get-AzStorageBlob -Container "SourceContainer" -Blob SourceFolder/*.csv -Context $context
foreach ($blob in $Blobs) {
    $blob.Name

    # Copy to DestinationFolder
    Start-AzStorageBlobCopy -SrcBlob "SourceFolder/SourceFile" -SrcContainer "<SourceContainer>" -DestContainer "<DestinationContainer>" -DestBlob "DestinationFolder/DestinationFile"

    # Delete the source blob
    Remove-AzStorageBlob -Container "SourceContainer" -Blob $blob.Name
}

【讨论】:

    【解决方案2】:

    请在 Powershell 中使用 azcopy 来实现。

    azcopy login
    azcopy copy 'https://<SourceStorageaccount>.blob.core.windows.net/<SourceContainer>/<SourceFile>' 'https://<DestinationStorageaccount>.blob.core.windows.net/<DestinationContainer>/<DestinationFile>'
    

    AzCopy 命令行实用程序为 Azure 存储提供高性能、可编写脚本的数据传输。可以使用 AzCopy 在 Blob 存储和 Azure 文件之间传输数据。

    另外,我认为这也可以使用:

    Start-AzStorageBlobCopy -SrcBlob "SourceFolder/SourceFile" -SrcContainer "<SourceContainer>" -DestContainer "<DestinationContainer>" -DestBlob "DestinationFolder/DestinationFile"
    

    目前,Az.Storage 模块中似乎没有用于移动文件的 Powershell cmdlet。它们必须被复制到目的地并从源中删除。

    【讨论】:

      【解决方案3】:

      为上述建议添加更多信息,最简单的方法是使用Storage Explorer

      这个So 线程为您的查询提供了一些想法(PS)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-08
        相关资源
        最近更新 更多