SFTP使用WinSCP将最近加时间戳的文件从远程服务器复制到本地服务器

时间:2014-09-25 21:25:25

标签: batch-file sftp winscp

我每天在远程服务器(salaryreport_2014925_5010.ziprunningreport_2014925_4223.zip)中生成两种类型的文件。

任何人都可以帮我完成代码以从远程服务器获取最新文件并复制到本地服务器。

到目前为止,我可以将文件从远程文件复制到本地服务器:

option batch on
option confirm off
lcd E:\Source
open sftp://abcd:4125_273@abc.com:22
cd source/reports
get "salaryreport_"*
get "runningreport_"*
close
exit

2 个答案:

答案 0 :(得分:1)

请参阅WinSCP文章Downloading the most recent file


从WinSCP 5.9开始,您可以使用-latest开关来完成一项非常简单的任务:

get -latest "salaryreport_"*
get -latest "runningreport_"*

对于早期版本:

  • 您可以下载(两个)最近的文件。使用WinSCP并不是一件容易的事。

  • 或下载包含当前日期时间戳的文件。如果您使用%TIMESTAMP% syntax

    ,这很容易
    get "salaryreport_%TIMESTAMP#yyyymmdd%_*"
    get "runningreport_%TIMESTAMP#yyyymmdd%_*"
    

答案 1 :(得分:-2)

在您需要移动的服务器上设置robocopy计划任务?

robocopy "\\remote\files" "\\local\files" /E /MOVE