通过Ant FTP任务删除所有文件和文件夹
问题描述:
如何删除Ant中指定远程文件夹内的所有文件和文件夹?通过Ant FTP任务删除所有文件和文件夹
我已经试过如下:
<ftp server="${ftp.host}" userid="${ftp.user}"
password="${ftp.pass}" remotedir="${ftp.remotedir}" action="del">
<fileset>
<include name="**/*"/>
</fileset>
</ftp>
它删除所有文件,但没有文件夹。如果我在这里编写<包含name =“*。txt”>而不是它按预期工作 - 删除所有txt文件,但如果我想删除所有文件和文件夹怎么办?)
答
您应该使用另一个命令: rmdir
。
该命令不会删除remotedir
参数中指定的文件夹。
基于信息从ant.apache.org样本:
<ftp action="rmdir"
server="${ftp.host}"
userid="${ftp.user}"
password="${ftp.pass}"
remotedir="${ftp.parentdir_for_remotedir}" >
<fileset>
<include name="${ftp.remotedir}/**"/>
</fileset>
</ftp>
从网站报价:
在remotedir参数指定的目录是永远不会选择 为删除,因此,如果您需要将其删除,请在 remotedir参数中指定其父项,并将其包含在模式中,如 “somedir/**”。
另外值得注意的是,如果有什么,但在规定的fileset
空文件夹rmdir
将失败。
从同一网站:
作为一个例子,假设你想删除包含到 /somedir一切,所以首先调用与行动=“删除”任务,然后用行动=“命令rmdir” ...
是的,它的工作,thnx! – tsds