ほんじゃらねっと

ダイエット中プログラマのブログ

たくさんのサブフォルダに分かれて保存されている画像ファイルを1つのフォルダにまとめてコピーするスクリプト

過去にデジカメから取り込んだ写真や他の人から受け取った画像を Flickrなどのサービスにアップロードしたり、 ブログにアップロードしたりする際、 画像ファイルがサブフォルダにわかれたままだとアップロードしにくい場合がある。

そんな時に、画像を1つのフォルダにフラットにあつめてくれるスクリプト。

collect_files.groovy

@Grab(group='commons-io', module='commons-io', version='2.4')

import org.apache.commons.io.FileUtils
import groovy.io.FileType

def srcDirPath = '<元フォルダ>'
def destDirPath = '<コピー先フォルダ>'

def list = []

def dir = new File(srcDirPath)
dir.eachFileRecurse(FileType.FILES) { file ->
    list << file
}

list.each {
    FileUtils.copyFile(it, new File(destDirPath + '/' + it.name))
}

画像以外でもファイルならなんでも集めます。

Programming Groovy 2: Dynamic Productivity for the Java Developer (Pragmatic Programmers)

Programming Groovy 2: Dynamic Productivity for the Java Developer (Pragmatic Programmers)