gpt4 book ai didi

batch-file - 从FTP服务器下载最新文件的批处理文件

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

我有一个批处理文件,可以从我的 Web 服务器 FTP CSV 文件。
我只需要下载最新的 CSV 文件。

我怎么做?

这是我到目前为止:

open 44.44.44.444
username
password

CD /Client/ABCCompany/

get *.csv

quit
close()

谢谢。

最佳答案

没有简单的方法可以使用 ftp.exe 选择最新的文件。 .

  • 如果您知道该文件的文件名中包含今天的时间戳,则可以使用今天的时间戳动态生成脚本。您可以使用 DATE环境变量,尽管它有其警告。更可靠(也更复杂)的方法是使用 wmic os get LocalDateTime .
    How do I get current date/time on the Windows command line in a suitable format for usage in a file/folder name?
  • 如果您可以按字母顺序确定最新的文件,您可以:
  • 运行 ftp.exels命令重定向到文件
  • 按字母降序对文件进行排序
  • 阅读第一行
  • 生成第二个下载脚本 ftp.exe跑。

  • WinSCP可以下载最新的文件,使用-latest get command的开关:
    winscp.com /command ^
    "open ftp://username:password@ftp.example.com/" ^
    "cd /remote/path" ^
    "get -latest *.csv" ^
    "exit"
    另请参阅 downloading the most recent file with WinSCP 的指南.
  • WinSCP 还可以下载创建的文件 within some interval ,例如最近 24 小时(1 天):
    winscp.com /command ^
    "open ftp://username:password@ftp.example.com/" ^
    "cd /remote/path" ^
    "get *.csv>=1D" ^
    "exit"
    或自某个时间点以来创建的文件,例如要下载自午夜以来创建的文件,请使用 today keyword :
    winscp.com /command ^
    "open ftp://username:password@ftp.example.com/" ^
    "cd /remote/path" ^
    "get *.csv>=today" ^
    "exit"
    对于 today关键字,请确保您拥有最新版本的 WinSCP。
  • 使用 WinSCP,与使用 DATE 相比,您可以更轻松地下载文件名中带有时间戳的文件。或 wmic os get LocalDateTime (如上图所示)。使用 %TIMESTAMP%句法:
    winscp.com /command ^
    "open ftp://username:password@ftp.example.com/" ^
    "cd /remote/path" ^
    "get %%TIMESTAMP#yyyy-mm-dd%%.txt" ^
    "exit"
    (我是 WinSCP 的作者)
  • 关于batch-file - 从FTP服务器下载最新文件的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031163/

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