我使用以下任务从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>
然而,问题是我有多个以word&#34; trace&#34;开头的文件。我需要将它们全部放到我的本地目录中。
我尝试过以下方法:
<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}"/>
但没有效果。
我应该使用什么来获取所有以word&#34; trace&#34;开头的文件?来自网址?
答案 0 :(得分:1)
我不认为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
任务等替代方案,这些方案支持具有fileset
和include
通配符模式的嵌套exclude
资源。与get
任务不同,ftp
基于FTP协议工作,该协议允许获取远程目录中的文件列表。但是,这需要FTP服务器或SSH守护程序等服务。