首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含文件的所有子目录的Ant Dirset

包含文件的所有子目录的Ant Dirset
EN

Stack Overflow用户
提问于 2017-08-19 20:28:39
回答 2查看 572关注 0票数 0

我需要创建一个目录集,其中包含所有包含文件的低级目录。举个例子,像这样的结构:

代码语言:javascript
运行
复制
.
├── _a
├── _b
|   ├── file1.class
|   └── file2.class
├── _c
|   └── _d
|        └── file3.class
├── _e
|   ├── _f
|   └── _g
└── _h
    └── file4.class

将产生目录的目录集:

代码语言:javascript
运行
复制
./b/
./c/d/
./h/

我怎样才能做到这一点呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-21 19:57:32

我找到了解决方案,它首先在我需要扫描的目录中创建一个文件集,然后使用路径转换来获得所有文件的父目录和相对路径。

剩下的工作就是创建一个目录集,其中包含指定来自pathconvert的路径(它还会删除重复的目录条目)。

代码语言:javascript
运行
复制
<pathconvert pathsep="," property="filePaths">
    <map from="${basedir}/" to="" />
    <!-- get parent of file -->
    <regexpmapper from="(.*)\${file.separator}" to="\1" />
    <path>
        <!-- change dir to your directory -->
        <fileset dir="${basedir}/dir" casesensitive="yes">
            <include name="**/*.*" />
        </fileset>
    </path>
</pathconvert>

<dirset dir="${basedir}/" casesensitive="yes" includes="${filePaths}" />
票数 1
EN

Stack Overflow用户

发布于 2017-08-21 14:53:32

不确定您想要哪项任务。

无论如何,请尝试fileset,如下所示:

代码语言:javascript
运行
复制
<fileset dir="${base.dir}" casesensitive="yes">
  <include name="**/*.*"/>
</fileset>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45771544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档