Rubyスクリプト

Rubyスクリプト

各フォルダのファイルを10個ずつコピーするスクリプト

フォルダ・ファイルの構成が下のようになっているとき、各フォルダ内のファイルについて10個ずつコピーを作る
  • [TOP]
    • [01_A]
      • 01_A_0001.doc
    • [02_B]
      • 02_B_0001.xls
    • [03_C]
      • 03_C_0001.txt

[TOP]ディレクトリの直下に以下のRubyスクリプトを記述したファイルを置いて実行する。

require "fileutils"

Dir.glob("*/*_0001.*").each{ |f1|
  puts f1
  for i in 2..10 
    f2 = f1.sub(/0001/, sprintf("%04d", i))
    puts f2
    FileUtils.cp(f1, f2)
  end
}