casiano@exthost:~/src/groovy$ cat files/selectivecopydir.groovy #!/usr/bin/env groovy def ant = new AntBuilder() ant.copy(todir: args[1], overwrite: true) { fileset(dir: args[0]) { include(name: '*.groovy') exclude(name: 'a*') exclude(name: 'c*') } }
casiano@exthost:~/src/groovy$ files/selectivecopydir.groovy files/ backup/ [copy] Copying 18 files to /home/casiano/src/groovy/backup casiano@exthost:~/src/groovy$ diff -r files/ backup/ Sólo en files/: antcopy2.groovy Sólo en files/: antcopy.groovy Sólo en files/: antIO.groovy Sólo en files/: build.xml Sólo en files/: canWrite.groovy Sólo en files/: canWrite.java Sólo en files/: cf Sólo en files/: cliargs.groovy Sólo en files/: cli.groovy Sólo en files/: copy2.groovy Sólo en files/: copydir.groovy Sólo en files/: .copydir.groovy.swp Sólo en files/: copy.groovy Sólo en files/: copywithnum.groovy Sólo en files/: csv.groovy Sólo en files/: fileReading.txt Sólo en files/: gcexamples Sólo en files/: input.txt Sólo en files/: MainClass.java Sólo en files/: my.log Sólo en files/: node17.html Sólo en files/: node26.html Sólo en files/: .selectivecopydir.groovy.swp Sólo en files/: .svn
De acuerdo con las reglas de Ant
el patrón *.groovy
sólo copia los ficheros
en el directorio padre. Si se quieren copiar los ficheros en los subdirectorios se debe usar
el patrón **/*.groovy
.