我想使用批处理从mput命令上传到 FTP。但是,我不想做的是上传之前已经上传过的文件,所以我需要每个文件的 MD5 并将新文件与现有文件进行比较。
我需要的命令如何?
首先,确保您的远程服务器完全支持校验和计算。许多人没有。我相信甚至没有标准的 FTP 命令来计算远程文件的校验和。有很多提案,也有很多专有解决方案。
最新提案是:https :
//datatracker.ietf.org/doc/html/draft-bryan-ftpext-hash-02
一些可以用来计算MD5校验的命令是:XMD5,MD5和HASH。
您可以使用 WinSCP 进行测试。WinSCP 支持所有前面提到的命令。测试其校验和计算功能或checksum脚本命令。如果它们有效,请启用日志记录并检查 WinSCP 对您的服务器使用的命令和语法。
然后您可以在命令行 FTP 客户端中执行该命令。你没有告诉我们,你使用的是什么客户端。在常见的 Windows 或 *nix 命令行ftp客户端中,您可以使用quotecommand 执行任意 FTP 协议命令,例如:
quote MD5 filename
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 Windows,则可以使用WinSCP 脚本。就像在 GUI 中一样,WinSCP 会为您找出要使用的命令。您只需使用checksum命令:
checksum md5 index.html
Run Code Online (Sandbox Code Playgroud)
(我是 WinSCP 的作者)
但请注意,您最好使用 SHA-1。不再信任 MD5。