1

我正在尝试做以下事情。我有一个根文件夹,在这 4 个子文件夹下。

  1. 检查根目录下的目录是否为空。
  2. 如果是,请删除该目录。

你能帮忙吗?

4

1 回答 1

1

NAnt 的delete任务加上 NAntContrib 的fileset::has-files功能就可以解决问题。

更新:这是一个示例,假设您有一个名为的根文件夹和名为的foo子文件夹:bar1bar4

<target name="go">
  <loadtasks assembly="C:\YourPathToNAntContrib\bin\NAnt.Contrib.Tasks.dll" />
  <property
    name="root"
    value="C:\foo" />
  <property
    name="subfolders"
    value="bar1,bar2,bar3,bar4" />
  <foreach
    item="String"
    in="${subfolders}"
    delim=","
    property="subfolder">
    <property
      name="basedir"
      value="${path::combine(root, subfolder)}" />
    <fileset
      id="files"
      basedir="${basedir}">
      <include name="**/*" />
    </fileset>
    <if test="${not fileset::has-files('files')}">
      <delete dir="${basedir}" />
    </if>
  </foreach>
</target>
于 2012-10-05T16:52:55.097 回答