我想编写WinSCP脚本来下载每天早上4-4:30之间放置在远程服务器上的文件。有没有办法用时间戳来做到这一点?基于WinSCP时间的文件下载
我想伪代码:
get file.txt where timestap<1 hour from 4 am
我想编写WinSCP脚本来下载每天早上4-4:30之间放置在远程服务器上的文件。有没有办法用时间戳来做到这一点?基于WinSCP时间的文件下载
我想伪代码:
get file.txt where timestap<1 hour from 4 am
首先,我想你的文件没有固定的名称(与你的问题有固定名称file.txt
)。如果没有,请解释一下,为什么您需要基于时间戳的解决方案。
无论如何,你可以使用一个file mask with a time constraint:
get "*.txt>2014-07-19 4:00"
动态地注入今天的日期,使用%TIMESTAMP%
syntax:
get "*.txt>%TIMESTAMP#yyyy-mm-ss% 4:00"
简单地说,上述手段,获取所有文件后创建(时间限制需要,%TIMESTAMP#yyyy-mm-ss%
以格式yyyy-mm-ss
解析为今天的日期)。
当通过在一个批处理文件的WinSCP命令行的get
(使用/command
开关,如相对于使用/script
开关来指定一个单独的脚本文件),您对%
两倍,以避免批处理文件试图解读%TIMESTAMP%
:
winscp.com /command ... "get ""*.txt>%%TIMESTAMP#yyyy-mm-ss%% 4:00"""
另一种解决方案是依赖于一个相对时间的静态脚本:EG你知道你的脚本早上6点运行。所以,你让WinSCP赋予下载更新的/在过去的2小时(6 am-4am)创建的所有文件:
get *.txt>2h
又见downloading the most recent file WinSCP赋予的文章。