我想使用ANT在以下条件下将一些特定文件从源目录复制到目标目录。
源文件夹包含以下文件
我想复制文件名为36000及以上的文件。
输出目录应包含以下文件
答案 0 :(得分:1)
一个想法是在文件名上使用正则表达式来限制数字范围。
├── build.xml
├── src
│ ├── 35001_abc.sql
│ ├── 38001_abc.sql
│ ├── 38002_abc.sql
│ ├── 39001_abc.sql
│ ├── 41001_abc.sql
│ └── 46001_abc.sql
└── target
├── 38001_abc.sql
├── 38002_abc.sql
├── 39001_abc.sql
├── 41001_abc.sql
└── 46001_abc.sql
<project name="demo" default="copy">
<property name="src.dir" location="src"/>
<property name="build.dir" location="target"/>
<target name="copy">
<copy todir="${build.dir}" overwrite="true" verbose="true">
<fileset dir="${src.dir}">
<filename regex="^(3[6-9]|[4-9]\d)\d{3}_abc.sql$"/>
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
</project>