我使用以下任务从 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”开头的所有文件?
最佳答案
我认为这对于 URL 来说是不可能的。 get
任务从任何 URL 检索文件。为了支持基于模式的 URL 输入形式,例如 basePath/trace*.html
,任务应查询 URL basePath
并解析页面的内容 HTML确定此路径中的 HTML 页面列表,这是一件乏味的事情(如果可能的话,首先参见 How to get list of files/directories of an directory url in java? )。尝试获取基本 URL 的内容,解析其结果,看看是否可以获得所有 trace*
文件的列表(这可能是一个解决方案,但非常难看)。
您可以查看类似 ftp
的替代方案或scp
支持使用 include
和 exclude
通配符模式嵌套 fileset
资源的任务。与 get
任务不同,ftp
基于 FTP 协议(protocol)工作,该协议(protocol)允许获取远程目录中的文件列表。但是,这需要 FTP 服务器或 SSH 守护程序等服务可用。
关于java - 使用 ANT 从 URL 获取以特定单词开头的所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39378017/