Groovy - архивирование всех папок в каталоге - PullRequest
3 голосов
/ 06 февраля 2011

У меня есть папка, расположенная C:\Program Files\VideoEditing, и внутри нее в настоящее время у меня есть около 30 папок, которые я хотел бы zip. При архивировании я хотел бы добавить изображение в каждую вновь заархивированную папку. (расположение изображения C:\Program Files\VideoEditing\art.png).

Мне было интересно, если / как это возможно в Groovy?

Моя цель - получить 60 файлов / папок в моем каталоге VideoEditing. (30 оригиналов и 30 версий на молнии с изображением внутри)

Я собираюсь продолжить поиск дополнительной информации по этой теме, но подумал, что мог бы также опубликовать ее на тот случай, если кто-то уже знает, как это сделать.

.

EDIT

Исходя из предположения andrei1089 об использовании AntBuilder, я предполагаю, что код будет выглядеть примерно так:

File file = new File('C:\\Program Files\\VideoEditing')

fileDir = []
def ant = new AntBuilder()
int i = 0

file.eachDir {
    fileDir << it
}

fileDir.each { 
    ant.zip(//new file name = VidFolder_$i,
        //include folder,
        //include art.png,)    
}

Чего я не знаю, так это как конкретно включить каждый каталог, а не определенные типы файлов.

Ответы [ 2 ]

4 голосов
/ 07 февраля 2011

набор файлов будет отлично работать для простых случаев

new AntBuilder().with {
  new File('src').eachDir {dir->
    zip destfile: "${dir.name}.zip", {
      fileset dir: dir
      fileset file: 'src/file.txt'
    }
  }
}

несколько примеров, которые применяются почти напрямую, можно найти в

1 голос
/ 06 февраля 2011

Вы можете попробовать использовать AntBuilder. Некоторые полезные примеры можно найти здесь

...