我需要制作一个包含所有包含文件的低级目录的dirset。 例如,结构如:
.
├── _a
├── _b
| ├── file1.class
| └── file2.class
├── _c
| └── _d
| └── file3.class
├── _e
| ├── _f
| └── _g
└── _h
└── file4.class
会导致目录的dirset:
./b/
./c/d/
./h/
我怎么能实现这个目标?
答案 0 :(得分:0)
我找到了解决方案,首先在我需要扫描的目录中创建一个文件集,然后使用pathconvert来获取所有文件的父目录并获取相对路径。
剩下的就是创建一个带有includes的dirset,它指定了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}" />
答案 1 :(得分:-1)
不确定您想要的任务。
无论如何,请尝试fileset
,如下所示:
<fileset dir="${base.dir}" casesensitive="yes">
<include name="**/*.*"/>
</fileset>