gpt4 book ai didi

command-line - WinSCP 基于时间的文件下载

转载 作者:行者123 更新时间:2023-12-02 17:44:46 25 4
gpt4 key购买 nike

我想编写 WinSCP 脚本来下载每天早上 4-4:30 之间放置到远程服务器上的文件。有没有办法用时间戳来做到这一点?

我要伪代码:

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"

要动态注入(inject)今天的日期,请使用 %TIMESTAMP% syntax :

get "*.txt>%TIMESTAMP#yyyy-mm-ss% 4:00"

简单地说,上面的意思是,获取今天 4:00 之后创建的所有文件(%TIMESTAMP#yyyy-mm-ss% 解析为今天的日期,格式为 yyyy-mm- ss,根据时间限制的需要)。

在批处理文件中通过 WinSCP 命令行传递 get 时(使用 /command 开关,与使用 /script 开关相反指定一个单独的脚本文件),你必须 double the %避免批处理文件试图解释 %TIMESTAMP%:

winscp.com /command ... "get ""*.txt>%%TIMESTAMP#yyyy-mm-ss%% 4:00"""

另一种解决方案是依赖于相对时间的静态脚本:例如你知道你的脚本在早上 6 点运行。因此,您让 WinSCP 下载最近 2 小时(早上 6 点至凌晨 4 点)内更新/创建的所有文件:

get *.txt>2h

另请参阅关于 downloading the most recent file 的 WinSCP 文章.

关于command-line - WinSCP 基于时间的文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com