Удалите все файлы и папки через задачу Ant FTP - PullRequest
1 голос
/ 13 октября 2011

Как удалить все файлы и папки внутри указанной удаленной папки в Ant?

Я пробовал следующее:

<ftp server="${ftp.host}" userid="${ftp.user}"
             password="${ftp.pass}" remotedir="${ftp.remotedir}" action="del">
    <fileset>
        <include name="**/*"/>
    </fileset>
</ftp>

удаляет все файлы, но не папки.(если я напишу здесьвместо этого он работает как положено - удаляет все текстовые файлы, но что, если я хочу удалить все файлы и папки?)

1 Ответ

2 голосов
/ 13 октября 2011

Вы должны использовать другую команду: 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", затем с действием = "rmdir" ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...