下载具有已定义更改日期时间的文件

时间:2016-06-30 06:15:19

标签: windows batch-file ftp

亲爱的,您能否分享一下如何将文件从FTP服务器下载到按更改日期过滤的本地目录。

所以,我在FTP服务器上有一个带文件的文件夹,但是我需要移动那些昨天已经改变的文件夹(f.e。)。

提前感谢您的回复。

open anymail.com
login
pass
!:--- FTP commands below here ---
lcd D:\Test
cd  /home/my_folder
binary
mget *
disconnect
bye

1 个答案:

答案 0 :(得分:1)

使用Windows内置ftp.exe时,您很难做到这一点。

您必须列出远程目录,将列表重定向到文件。然后解析列表文件以查找所需的文件。然后生成一个临时下载脚本。相当多的工作。

使用功能更强大的第三方Windows FTP命令行客户端。

例如,对于WinSCP scripting,您可以使用批处理文件(例如download_yesterdays.bat),例如:

winscp.com /ini=nul /log=ftp.log /command ^
    "open ftp://user:password@ftp.example.com/" ^
    "cd /remote/path" ^
    "lcd c:\local\path" ^
    "get *>=yesterday<today" ^
    "exit"

>=yesterday选择自昨天(包括)以来创建的文件。 <today排除了今天创建的文件。自WinSCP 5.15起支持此语法。

在早期版本的WinSCP中,您可以改为使用%TIMESTAMP% syntax>=%TIMESTAMP-1D#yyyy-mm-dd%<%TIMESTAMP#yyyy-mm-dd%(自WinSCP 5.9起支持TIMESTAMP-1D语法。

参考文献:

(我是WinSCP的作者)