azure - Azcopy - 仅复制不带文件夹的文件

标签 azure azure-storage azcopy

正如标题所示,我正在尝试将文件夹结构中具有特定扩展名的所有文件复制到 blob 存储,而不重新创建本地文件夹结构;

当我运行以下命令时,效果很好;

azcopy cp 'H:\folder1\folder2\*.txt' 'https://storage.blob.core.windows.net/folderA/folderB/?saskey'

这会将所有 *.txt 文件复制到/folderB

我尝试了以下多种变体;

azcopy.exe cp 'H:\folder1\*\*' 'https://storage.blob.core.windows.net/folderA/folderB/?saskey' --recursive --include-pattern '*.txt'

无论我尝试什么,我都会得到以下结果;

/folderA/folderB
            /folder1/fileA.txt
            /folder2/fileB.txt

我对“--recursive”开关的用途印象深刻,但我所做的要么不受支持,要么我的语法错误。

我已阅读此内容; https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-files#use-wildcard-characters

我可能可以用类似的东西来编写它; AzCopy - Wildcards In Middle Of Pattern? 但希望这是内置功能

最佳答案

不支持您正在寻找的内容。使用 --recursive 将导致源的子目录结构保留在目标中。我不知道有任何标志可以阻止这种情况。

实际上这有助于避免冲突。举例来说,源中有文件/folder1/fileA.txt 和/folder2/fileA.txt 。如果您尝试在目标中复制平面(没有子路径),则会导致冲突,因为两个文件名都是 fileA.txt。

关于azure - Azcopy - 仅复制不带文件夹的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65849113/

相关文章:

azure - 如何知道管道使用的是 Microsoft 托管代理还是自托管代理

azure - S3 上的 Azure 存储的 SAS(共享访问签名)功能相当于什么?

azure - 用于在 blob 容器内创建子目录并向其中插入一些数据的 PowerShell 脚本

Azure 中国存储 - AZCopy 上传失败

postgresql - Azure PostgreSQL - 如何创建管理员用户

Azure函数: Blob Trigger throws System. OutOfMemoryException

azure - 返回所有 GCP 区域和可用区的 API

azure - 当存储帐户尝试使用私有(private)终结点访问 Key Vault 中的客户托管 key (使用 Terraform)时,出现 "KeyVaultAuthenticationFailure"

azure-storage - 将文件从 Azure BLOB 存储复制到 SharePoint 文档库

linux - Azcopy 无法使用 sas token 从 azure 文件存储下载文件?