読者です 読者をやめる 読者になる 読者になる

ファイル(ディレクトリ)を更新日時順にコピーする(Ruby)

Ruby PC・ウェブその他

変数 snd に送られるファイル(またはディレクトリ)の入ったディレクトリ、rsv に送り先のディレクトリを入れます。確実に時間順にするために 1.2 秒間スリープしています。

require 'fileutils'

snd = '/home/***/Pictures'; rsv = '/media/***/99EE-E8C41/picture'
Dir.chdir(snd)
name = Dir.glob("*")
tm = []
name.each {|n| tm << File.stat(n).mtime}
f = name.zip(tm)
f.sort! {|a, b| a[1] <=> b[1]}
f.each do |name|
  puts name[0]
  FileUtils.cp_r(name[0], rsv)
  sleep(1.2)
end