使用Windows FTP mget命令下载时保留文件修改时间戳

时间:2015-11-02 13:47:24

标签: batch-file ftp

我的FTP mget命令正在覆盖文件修改时间戳,实际上我并不想要。

请帮我解决这个问题。

Copy.bat

open 10.198.37.61
user
password
mget *.*
disconnect
quit

Main.bat

ftp -i -s:Copy.bat

2 个答案:

答案 0 :(得分:2)

Windows内置FTP客户端(ftp.exe)在下载时无法保留远程文件的时间戳(反之亦然)。

您必须使用其他FTP客户端。大多数其他FTP客户端都会保留时间戳。

例如WinSCP scripting使用以下批处理文件(Main.bat):

winscp.com /ini=nul /log=script.log /command ^
    "open ftp://user:password@10.198.37.61/" ^
    "get *.*" ^
    "exit"

另见Converting Windows FTP script to WinSCP script

(我是WinSCP的作者)

答案 1 :(得分:-1)

CoreFTP LE(或PRO)可以保留时间戳-FTP或SFTP

要配置CoreFTP LE:

站点管理器->高级->常规->将文件转换为GMT(标记)

站点管理器->高级->转移->使用MFMT进行日期修改(将其标记)

完成!