如何从 FTP 服务器下载/复制 15,000 个文件夹到 Windows 上的本地机器?

如何从 FTP 服务器下载/复制 15,000 个文件夹到 Windows 上的本地机器?

我想从 FTP 服务器下载大约 15,000 个文件夹(不是文件)到我的远程驱动器。我有 FTP 软件,但用它进行批量传输很费时间。

因此,我正在寻找一个命令行程序(Windows)来将文件夹从服务器传输到本地驱动器。如果我得到正确的命令行(Windows),我可以构建批处理文件并在下班时间运行它。

答案1

几个选项:

  • 从命令行(或批处理文件)使用 ftp.exe。Microsofts FTP 工具的命令列表位于nsftools.com虽然我注意到它和我在 Windows 8.1 上看到的有一些区别,所以最好运行ftp /?以获取适合您的帮助信息。
  • 如果你喜欢冒险,你可以考虑使用 PowerShell 中的 FTPWebRequest .Net 类(示例见堆栈溢出
  • 看看PowerShell FTP 客户端模块,我认为这是前面提到的 .Net 类的一个很好的包装器。我自己还没有用过这个。
  • 检查您是否可以增加您使用的 GUI 应用程序中的同时流/下载量。这可能是最简单的解决方案。

答案2

使用WinSCP 脚本来自批处理文件:

@echo off

winscp.com /command ^
    "open ftp://username:password@host/" ^
    "get /root/* c:\archive\" ^
    "exit"

它将/root/递归地从远程文件夹下载所有文件和子文件夹。

(我是 WinSCP 的作者)

答案3

我建议你看看Windows 版 Wget或者,如果远程服务器允许,甚至可以适用于 Windows 的 rsync或者rsync Windows 备份代理

一些注释Wget:

GNU Wget是一款免费的网络实用程序,可使用 HTTP 和 FTP(两种最广泛使用的 Internet 协议)从万维网上检索文件。它以非交互方式运行,因此可以在注销后在后台运行。

支持 HTML 页面和 FTP 站点的递归检索...
...Wget 在慢速或不稳定的连接上工作得非常好,可以持续获取文档直到完全检索完毕。在支持它的服务器(HTTP 和 FTP)上,可以从上次中断的位置重新获取文件

其他一些关于Windows 中的 rsync 工具:

同步通过仅传输文件更改的部分来同步本地和异地文件系统。首次上传后,每次后续上传都会非常快,因为只发送文件中的差异部分。

Windows 备份代理:rsync.net 客户可以使用功能强大、易于使用的备份代理,处理自动加密备份 - 甚至是打开的文件。

答案4

您可以使用 Windows 资源管理器并使用鼠标。

在此处输入图片描述

相关内容