我需要创建一个目录集,其中包含所有包含文件的低级目录。举个例子,像这样的结构:
.
├── _a
├── _b
| ├── file1.class
| └── file2.class
├── _c
| └── _d
| └── file3.class
├── _e
| ├── _f
| └── _g
└── _h
└── file4.class
将产生目录的目录集:
./b/
./c/d/
./h/
我怎样才能做到这一点呢?
发布于 2017-08-21 19:57:32
我找到了解决方案,它首先在我需要扫描的目录中创建一个文件集,然后使用路径转换来获得所有文件的父目录和相对路径。
剩下的工作就是创建一个目录集,其中包含指定来自pathconvert的路径(它还会删除重复的目录条目)。
<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}" />
发布于 2017-08-21 14:53:32
不确定您想要哪项任务。
无论如何,请尝试fileset
,如下所示:
<fileset dir="${base.dir}" casesensitive="yes">
<include name="**/*.*"/>
</fileset>
https://stackoverflow.com/questions/45771544
复制相似问题