从远程 UNIX FTP 服务器下载文件后,您需要验证是否已正确下载所有文件。最少您会在 Windows 命令提示符中获得类似于“dir /s”命令的信息。FTP 客户端在 Windows 上运行。
5 回答
遗憾的是,这是为 Unix/Linux 用户编写的:/
就个人而言,我会安装 CYGWIN 只是为了让 LFTP/RSYNC 的 Linux 二进制文件在 Windows 上工作,因为似乎没有任何东西可以与之竞争。
正如@zadok.myopenid.com 提到的rsync,这似乎是使用CYGWIN 为它构建的windows (如果你最终能够通过ssh 访问该框)
http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp
Rsync 很方便,因为它将所有内容与校验和进行比较,并以最佳方式传输部分更改块。
如果您获得 CYGWIN/Linux:
http://lftp.yar.ru/ 是我最喜欢的探索工具。
它几乎可以做 bash 可以做的所有事情,尽管是远程的。
例子:
$ lftp mirror.3fl.net.au lftp mirror.3fl.net.au:~> ls drwxr-xr-x 14 root root 4096 Nov 27 2007 游戏 drwx------ 2 root root 16384 2006 年 4 月 13 日 lost+found drwxr-xr-x 15 镜子 镜子 4096 Jul 15 05:20 pub lftp mirror.3fl.net.au:/> cd 游戏/杂项 lftp mirror.3fl.net.au:/games/misc>find ./ ./dreamchess/ ./dreamchess/full_game/ ./dreamchess/full_game/dreamchess-0.2.0-win32.exe ./frets_on_fire/ ./frets_on_fire/full_game/ ./frets_on_fire/full_game/FretsOnFire-1.2.451-macosx.zip ./frets_on_fire/full_game/FretsOnFire-1.2.512-win32.zip ./frets_on_fire/full_game/FretsOnFire_ghc_mod.zip ./gametap_setup.exe …… lftp mirror.3fl.net.au:/games/misc> du gametap_setup.exe 32442 gametap_setup.exe lftp mirror.3fl.net.au:/games/misc> du -sh gametap_setup.exe 32M gametap_setup.exe lftp mirror.3fl.net.au:/games/misc>
做这个 :
ls -lR
.....................
如果您有 ssh 访问权限,请改用 rsync。这是一个更好的数据传输应用程序。
为您的操作系统获取保险丝并加载 ftpfs。这将允许您在本地挂载远程 ftp 目录,您可以使用 dir /s 或您想要的任何其他应用程序。
假设您通过命令行使用简单的 ftp,请使用带有 -Rl 选项的 dir 命令递归搜索并将其复制到文件中,然后使用 grep、find 或操作系统支持的任何方式搜索文件。
ftp> dir -Rl education.txt 输出到本地文件:education.txt?y 227 进入被动模式 (9,62,119,15,138,239) 150 打开文件列表的 ASCII 模式数据连接 226 传输完成
您可以使用apache-commons-net 中的ftp.listFiles("directory")并且可以编写自己的 BFS 或 DFS 以递归方式获取所有文件。