Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Rubyでカレント日付+任意の文字列形式の定形フォルダを作成し、その中にtxtファイルを作成

概要

カレント日付+任意の文字列形式の定形フォルダを作成し、その中にtxtファイルを作成

詳細

下記仕様のプログラムをRubyで作成する
・createTodayFolder.rbを実行すると入力ダイアログが開く
・ダイアログに任意の文字列を入力する。例として「ほげ」
・下記仕様でフォルダとファイルが作成される
・フォルダ名は「YYYYMMDD_ほげ」
・ファイル名は「ほげ.txt」
・ファイル「ほげ.txt」の中身は「ほげ」
※YYYYMMDDはシステム日付

何故この形式のフォルダとファイルが必要か?

個人的なタスク管理で、1タスクにつき

システム日付_タスク名

のフォルダを作成して、作業メモ領域として

タスク名.txt

ファイルを必ず作成するようにしています。

この作業を自動化するために、当記事のRubyスクリプトを作成しました。

サンプルコード

# 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」の中身

ほげ