概要
カレント日付+任意の文字列形式の定形フォルダを作成し、その中にtxtファイルを作成
詳細
下記仕様のプログラムをRubyで作成する
・createTodayFolder.rbを実行すると入力ダイアログが開く
・ダイアログに任意の文字列を入力する。例として「ほげ」
・下記仕様でフォルダとファイルが作成される
・フォルダ名は「YYYYMMDD_ほげ」
・ファイル名は「ほげ.txt」
・ファイル「ほげ.txt」の中身は「ほげ」
※YYYYMMDDはシステム日付
何故この形式のフォルダとファイルが必要か?
個人的なタスク管理で、1タスクにつき
システム日付_タスク名
のフォルダを作成して、作業メモ領域として
タスク名.txt
ファイルを必ず作成するようにしています。
サンプルコード
# encoding: Windows-31J require 'win32ole' require "date" # 入力ダイアログを利用するためにVBScriptを使用 script_control = WIN32OLE.new("ScriptControl") script_control.language="VBScript" base_file_name = script_control.eval('InputBox("ファイル名を"&vbcrlf&"入力して下さい","入力")') if !base_file_name then script_control.eval(%Q! MsgBox("ファイル名が空です",0,"エラー") !) quit() end str_today = Time.now.strftime("%Y%m%d") file_name = "#{str_today}_#{base_file_name}" Dir::mkdir("./" + file_name) f = open("./#{file_name}/#{base_file_name}.txt", "w") f.puts base_file_name f.close
出力
実行前
$ls -R | grep ほげ
実行後(ほげと入力)
$ls -R | grep ほげ 20121122_ほげ/ ./20121122_ほげ: ほげ.txt
ファイル「ほげ.txt」の中身
ほげ