我想将数千个文件洗牌到这样的许多目录中。
require 'fileutils'
files = Dir.glob("**/*.jpg")
files.shuffle!
((files.size/100)+1).times do |i|
FileUtils.mkdir_p("%03d" % i)
100.times{|j|
begin
FileUtils.mv(files[j+i*100],"%03d" % i)
rescue ArgumentError
end
}
end
有时源和目标是同一个文件。忽略我正在使用的错误rescue ArgumentError
。
但我认为这样使用是不好的Exception
。当源和目标相同时,有没有更好的方法什么都不做?