如何删除Ant中指定的远程文件夹中的所有文件和文件夹?
我尝试了以下内容:
<ftp server="${ftp.host}" userid="${ftp.user}"
password="${ftp.pass}" remotedir="${ftp.remotedir}" action="del">
<fileset>
<include name="**/*"/>
</fileset>
</ftp>
删除所有文件,但不删除文件夹。 (如果我在这里写&lt; include name =“* .txt”&gt;而不是按预期工作 - 删除所有txt文件,但如果我想删除所有文件和文件夹怎么办?)
答案 0 :(得分:2)
您应该使用另一个命令: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 /**".
另外值得注意的是,如果rmdir
中指定了空文件夹,则fileset
将失败。
来自同一网站:
例如,假设您要删除包含的所有内容 / somedir,所以首先用action =“delete”调用任务,然后 with action =“rmdir”......