我在Azure中具有存储帐户,该帐户包含文件夹内的文件。我希望使用PowerShell脚本将.txt和.csv文件从一个文件夹移动到同一存储帐户容器中的另一个文件夹。有谁能给我点建议吗?
m3eecexj1#
在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 }
tzxcd3kk2#
请在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来移动文件。必须将文件复制到目标并从源中删除。
hk8txs483#
在上述建议的基础上添加更多信息,最简单的方法是使用Storage Explorer这个So线程为您的查询提供了一些想法(PS)。
ycl3bljg4#
请注意,复制是异步的,因此在删除源之前,请确保blob位于目标位置。据说同一容器内的复制是“即时的”,更像是移动操作(不存在,因此也不需要在API中)
4条答案
按热度按时间m3eecexj1#
在Swishonary的回复中添加完整的步骤:
tzxcd3kk2#
请在Powershell中使用azcopy来实现此操作。
AzCopy命令行实用工具为Azure存储提供高性能、可编写脚本的数据传输。你可以使用AzCopy在Blob存储和Azure文件之间传输数据。
或者,我认为这也可以用于:
目前,Az.Storage模块中似乎没有Powershell cmdlet来移动文件。必须将文件复制到目标并从源中删除。
hk8txs483#
在上述建议的基础上添加更多信息,最简单的方法是使用Storage Explorer
这个So线程为您的查询提供了一些想法(PS)。
ycl3bljg4#
请注意,复制是异步的,因此在删除源之前,请确保blob位于目标位置。据说同一容器内的复制是“即时的”,更像是移动操作(不存在,因此也不需要在API中)