2011-10-13 172 views
1

如何刪除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文件,但如果我想刪除所有文件和文件夾怎麼辦?)

回答

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/**」。

另外值得注意的是,如果有什麼,但在規定的fileset空文件夾rmdir將失敗。

從同一網站:

作爲一個例子,假設你想刪除包含到 /somedir一切,所以首先調用與行動=「刪除」任務,然後用行動=「命令rmdir」 ...

+0

是的,它的工作,thnx! – tsds

相關問題