将文件从Azure存储移动到本地目录
问题描述:
我想移动位于azure上的文件共享中的所有文件。我可以通过以下方式目前做到这一点:将文件从Azure存储移动到本地目录
- 使用“净”命令连接到网络驱动器并为其分配一个驱动器号
- 然后有一个使用批处理文件“移动”命令状
move g:\files\* c:\files
然后移动每小时运行的文件以检查是否存在文件并使用Windows任务计划程序移动它们。
但我并不想用这种方式,因为:
- 驱动器将被断开,如果机器需要重启,因此过程中不保持自动化,也有人将挂载再次驱动
- “移动”命令不移动文件夹,它只移动文件。
有没有更好的管理方法?我们不想安装像AzCopy这样的工具,但使用Powershell是可行的。
答
的问题是使用以下方法解决:
- 删除任何现有的映射驱动器,我们使用的是有
net use <drive_letter> /delete
命令驱动器号。这样做是为了确保驱动器自从上次脚本运行 - 再次使用
net use
命令 - 复制所有使用
robocopy
- 之后的所有文件删除文件使用
del
命令映射驱动器,取下 - 现在使用
net use <drive_letter> /delete
命令断开驱动器
答
根据你的描述,我建议你可以做到这一点为以下几种方式:
1.Call Azcopy在PowerShell中。
您可以先安装Azcopy,您可以从link下载最新版本。 Azcopy支持将目录上载到Azure文件共享。你可以使用下面的命令。
AzCopy /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /S
然后,你可以安装写一个蝙蝠脚本来调用Azcopy,默认Azure的目录是C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy
。
cd "C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy"
&.\AzCopy.exe /Source:C:\myfolder /Dest:https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /S
- 使用PowerShell脚本,你可以使用这个link。该脚本用于ASM模式,您应该更改某些命令。
根据我的经验,使用Azcopy更容易和更简单。
您好,Walter,我想将文件从Azure存储移动到我的电脑,而不是复制它们。我怎样才能做到这一点? –
我提供的azcopy命令是将文件上传到Azure存储帐户。您可以检查第一个链接,也可以从Azure存储帐户下载文件到本地PC。移动?你的意思是下载,然后删除它? Azcopy不支持这一点,你应该做,然后删除它们。 –
嗨沃尔特,是的下载并删除它们。你可以随时更新吗? –