ANT任务如何重命名子文件夹下的多个文件夹

时间:2018-10-22 11:42:08

标签: ant

我有一个文件夹示例,其中包含多个文件夹和文件,如下所示。

sample/folderA/file1.csv
sample/folderA/file2.csv
sample/folderB/file1.csv
sample/folderB/file2.csv
sample/folderB/file3.csv

我正在寻找ANT命令,该命令可以将所有文件夹形式FolderA重命名(或复制)到folderA-bak,如下所示。

 sample/folderA-bak/file1.csv
sample/folderA-bak/file2.csv
sample/folderB-bak/file1.csv
sample/folderB-bak/file2.csv
sample/folderB-bak/file3.csv

注意:这里会有很多文件夹,但我不知道那里的名字,有什么名字我都需要在末尾附加-bak。

1 个答案:

答案 0 :(得分:0)

使用蚂蚁copy task和嵌套的filesetregexmapper,如下所示:

<copy todir="what/ever/sample">
<fileset dir="what/ever/sample"/>
  <regexpmapper from="(.+)(folder.)(.+)" to="\1\2-bak\3"/>
</copy>

要使其工作而不论目录名如何,请使用此正则表达式:

<regexpmapper from="(.+)(.+)(\\.+)" to="\1\2-bak\3"/>