ruby フォルダの中のファイルを探索し上部階層ごとに整理してCSVに落とし込む
$array =
$output =
dir = 'work'
Dir.glob('../' + dir + '/*/*').each do |f|
puts f
fname = File.basename(f)
puts fname
$array.push(f)
end
$record
$array.each{|dir2|
puts "dir2 = " + dir2
dir2bname = File.basename(dir2)
str = dir2bname.match(/\d+/)
out1 = str[0]
puts out1
$record = out1 + "," + dir2bname
Dir.glob( dir2 + '/**/*').each do |d2|
puts d2
d = File.mtime(d2)
datestr = d.strftime("%Y年%m月%d日")
puts datestr
$record << "," + File.basename(d2)
$record << "(" + datestr + ")"
if d2.include?(".js") == true then
puts "jsファイルあり"
$record << ",jsファイルあり"
end
end
$output.push($record)
$record = ""
}
puts $output
file.puts($output)
end
rubyでファイル名の末尾に文字列を追加するスクリプト
バックアップとか取る時にファイル名の(ドットの前)末尾へ"_bk201XXXX"とか大量のファイルに一括で入れるサンプルです。
Dir.glob('../test/**/*.*').each do |f|
fname = File.basename(f)
dname = File.dirname(f)
n = fname.split(".")
File.rename(f , dname + "/" + n[0] + "_bk20160000." + n[1])
end
よろしくお願いします
元デザイナーでコードも色々書いているwebディレクターです。
movable typeと京都が詳しいです。今はrubyとjavascriptに興味があります。事業面では農業Iotの普及に貢献できたらなと思っています。
どうぞよろしくお願いします。