【问题标题】:Get all the files that starts with a specific word from a URL using ANT使用 ANT 从 URL 中获取所有以特定单词开头的文件
【发布时间】:2016-09-08 04:26:35
【问题描述】:

我正在使用以下任务从 URL 获取特定文件并将其安装在我的本地 DIR 上:

<project name="MobileBanking" basedir="../">
    <target name="get">
        <get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace.log" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>
    </target>
</project>

但是,问题是我有多个以单词“trace”开头的文件,我需要将它们全部放到我的本地目录中。

我尝试了以下方法:

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/trace*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>

<get src="https://domain/dsprdamf1/mf/node1/logs/server11_mf/*" dest="Local/Logs" usetimestamp="true" username="${USERNAME}" password="${PASSWORD}"/>

但没有任何效果。

我应该使用什么来从 URL 中获取所有以单词“trace”开头的文件?

【问题讨论】:

    标签: java url ant


    【解决方案1】:

    我认为这对于 URL 是不可能的。 get 任务从 any URL 检索文件。为了支持基于模式的 URL 输入形式,例如 basePath/trace*.html,任务应该查询 URL basePath 并解析页面的内容 HTML 以确定此路径中的 HTML 页面列表,这是一件繁琐的事情去做(如果可能的话,首先请参阅How to get list of files/directories of an directory url in java?)。尝试获取基本 URL 的内容,解析其结果,看看是否可以获取那里所有 trace* 文件的列表(这可能是一个解决方案,但它非常丑陋)。

    您可以查看诸如 ftpscp 任务之类的替代方案,它们支持具有 includeexclude 通配符模式的嵌套 fileset 资源。与get 任务不同,ftp 基于 FTP 协议工作,该协议允许获取远程目录中的文件列表。但是,这需要 FTP 服务器或 SSH 守护程序等服务可用。

    【讨论】:

    • 谢谢你的回答,我认为你是对的。我需要找到另一种方法来获取除“get”之外的所有嵌套文件。将检查 ftp 或 scp。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多