gpt4 book ai didi

wordpress - 删除目录中除一个文件以外的所有内容的 Ant 任务

转载 作者:行者123 更新时间:2023-12-03 08:27:18 34 4
gpt4 key购买 nike

我正在编写一个 Ant 脚本来帮助部署 Wordpress(我知道...)。这里的想法是:

  • 删除整个 vendor 目录。
  • 删除整个 public_html/wp 目录。
  • public_html/content/plugins 中删除所有内容,除了一个 PHP 文件:public_html/content/plugins/w3tc-wp-loader.php

这是我尝试过的(有很多变体):

<delete failonerror="false" quiet="false" includeEmptyDirs="true">
<fileset dir="vendor" />
<fileset dir="public_html/wp" />
<fileset dir="public_html/content/plugins">
<exclude name="w3tc-wp-loader.php" />
</fileset>
</delete>

这有点管用:

  • 它删除 vendor 目录的内容,除了子目录中存在的一些 .gitignore 文件,因此这些文件及其父目录仍然存在(即 vendor/composer/installers/.gitignore).
  • public_html/wp 已按预期删除。
  • public_html/content/plugins 剩下一堆子目录,每个子目录都是空的(除了一个有 .gitignore 文件)。正如预期的那样,保留了 Ant 脚本中记录的排除文件。

知道为什么 a) 没有删除空目录和 b) .gitignore 文件似乎也保留下来(以及它们的父目录)吗?我做错了什么?

最佳答案

这种方式呢:

<delete failonerror="false" quiet="false" includeemptydirs="true">
<fileset dir="${root}" defaultexcludes="false">
<include name="vendor/**" />
<include name="public_html/wp/**" />
<include name="public_html/content/plugins/**" />
<exclude name="public_html/content/plugins/w3tc-wp-loader.php" />
</fileset>
</delete>

其中 ${root}vendorpublic_html 的父目录。

defaultexcludes="false" 将确保您的 .gitignore 也将被删除。

关于wordpress - 删除目录中除一个文件以外的所有内容的 Ant 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23839117/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com