パンくず
Ruby Cookbook
バージョン番号付き履歴ファイルの作成
概要
バージョン番号付き履歴ファイルの作成
内容
バージョン番号付き履歴ファイルの作成。
書籍では履歴番号だけ追加してましたが、応用してシステム日付を追加しました。
本日の日付+0詰め3桁の連番履歴ファイルを作成する。
サンプルコード
# encoding: Windows-31J require "date" class File # ファイル名、桁数、拡張子を引数に指定 def File.output_file_with_history_no(filename, digits, extname) basename = filename.gsub(extname,"") filename = filename date = "_" + Date::today.strftime("%Y%m%d") suffix = "_#{("0" * digits)}" while File.exists?(filename) suffix = suffix.succ filename = basename + date + suffix + extname end return filename end end 10.times.each do |number| filename = File.output_file_with_history_no("./conf/ほげ.txt", 3, ".txt") open(filename, 'w') {|file|file << "#{number}回目"} puts "create #{filename}" end
出力
ファイルの出力結果をシェルで確認
$ls -1 ほげ.txt ほげ_20120911_001.txt ほげ_20120911_002.txt ほげ_20120911_003.txt ほげ_20120911_004.txt ほげ_20120911_005.txt ほげ_20120911_006.txt ほげ_20120911_007.txt ほげ_20120911_008.txt ほげ_20120911_009.txt ほげ_20120911_010.txt