我想从单个子目录中使用Ant复制文件和子目录,而不复制其余的目录结构和内容.例如,我想复制dir_3,它的文件(file_1到file_n)和子目录(dir_4和dir_5),但不是dir_1和dir_2.有没有我可以用来做这个的模式?
temp
\--dir_1
\--dir_2
|
\--dir_3
|
\--dir_4
\--dir_5
\-- file_1
|
\--file_n
Run Code Online (Sandbox Code Playgroud)
谢谢.
Dav*_* W. 18
这并不困难......
<copy todir="${copy.dir}">
<fileset dir="temp">
<include name="**/dir3/**"/>
</fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)
使用该include指令时,它只包含与您提供的模式匹配的文件.在这种情况下,我只复制那些/dir3/在其完整路径名中有某处的文件.这包括下的子目录和下的dir3所有文件dir3.
您可以使用该exclude指令覆盖include指令:
<copy todir="${copy.dir}">
<fileset dir="temp">
<include name="**/dir3/**"/>
<exclude name="**/dir3/*"/>
</fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)
这将复制这些子目录中的所有子目录和文件,但不复制dir3其自身下的文件.该*目录中的比赛中的所有文件,同时**将所有文件在整个目录树相匹配.
请注意,这将创建一个目录temp/dir2/dir3.如果我想temp/dir3,我必须将我的文件集设置为以下的父目录dir3:
<copy todir="${copy.dir}">
<fileset dir="temp/dir2">
<include name="dir3/**"/>
</fileset>
</copy>
Run Code Online (Sandbox Code Playgroud)
这样做:
<copy todir="${copy.dir}">
<fileset dir="temp/dir2/dir3"/>
</copy>
Run Code Online (Sandbox Code Playgroud)
将创建一个目录temp下,直接与所有文件dir3直接下temp.也将有一个temp/dir4与temp/dir5包含所有上述目录下的文件(和目录树)目录.
| 归档时间: |
|
| 查看次数: |
24832 次 |
| 最近记录: |