【问题标题】:How to download latest folder from ftp如何从 ftp 下载最新的文件夹
【发布时间】:2011-11-23 16:28:59
【问题描述】:

您好,有没有人知道如何从 FTP 下载最新的文件夹。我有像 Evolvenet_20111112.1 这样的文件夹 进化网_20111113.1 从这里我必须下载最新的文件夹。谁能帮我举个例子。

提前致谢, 巴斯克。


Ftp 列表不起作用,因为我的构建文件夹位于 \build\Evolvenet 2010\ 中。登录 ftp 服务器后,列表将采用默认文件夹。有什么方法可以指定转到该文件夹​​和列表。

谢谢, 巴斯克。

【问题讨论】:

  • 关于如何列出显式文件夹,我已经更新了我的答案。

标签: ant ftp


【解决方案1】:

我认为你需要做的就是把它分解成几个步骤:

  1. 使用 FTP 列出相关文件
  2. 从列表中提取文件名
  3. 对文件名进行排序
  4. 从排序列表中取第一个或最后一个文件名
  5. 使用 FTP 获取该文件

由于您的文件是使用yyyyMMdd.<version> 模式命名的,因此您可以简单地按名称对文件进行排序,以将它们按日期顺序排列。

第 1 步:列出类似这样的文件

<ftp action="list" 
     server="${server}" userid="${user}" 
     password="${password}" listing="list.txt">
  <fileset>
    <include name="Evolvenet_*"/>
  </fileset>
</ftp>

步骤 2-4:从列表中提取最新文件

<loadresource property="newest.file">
  <concat>
    <fileset file="list.txt"/>
  </concat>
  <filterchain>
    <tokenfilter>
      <replaceregex pattern=".*(Evolvenet_.*)" replace="\1"/>
    </tokenfilter>
    <sortfilter reverse="true"/>
    <headfilter lines="1"/>
  </filterchain>
</loadresource>

<echo message="newest.file ${newest.file}"/>

第 5 步:使用 FTP 获取该文件

<ftp action="get"
     server="${server}" userid="${user}"
     password="${password}">
  <fileset dir="download">
    <include name="${newest.file}"/>
  </fileset>
</ftp>

我的回答好像 Evolvenet_* 是文件,但我注意到您说它们是目录。我认为下载目录需要更改的只是 FTP get 中的 include 子句:

<include name="${newest.file}/**"/>

要列出某个目录(而不是用户的登录目录)的内容,使用文件集的dir属性来指定远程目录,例如

  <fileset dir="/build/Evolvenet 2010">
    <include name="*"/>
  </fileset>

【讨论】:

  • 非常感谢您的帮助。我会试试这个,让你知道。
  • @bhasker - Accepting 和/或投票给答案是最合适的感谢形式。
【解决方案2】:

看看这里:ftp task

现在,如果没有具体说明,我们将无法提供太多帮助。关于您要选择的文件:

<ftp action="get"
       server="ftp.hypthetical.fr"
       userid="anonymous"
       password="me@myorg.com"
       defaultDateFormatConfig="d MMM yyyy"
       recentDateFormatConfig="d MMM HH:mm"
       serverLanguageCodeConfig="fr">
     <fileset dir="htdocs/manual">
      <include name="**/*.html"/>
    </fileset>
  </ftp>

来自手册。您可以提供可以自定义的文件集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2015-07-27
    相关资源
    最近更新 更多