ドラッグアンドドロップしたファイルをeuc-jpに変換するRubyスクリプト

を作った。exerbでexe化すると約1.6Mとかなり大きくなるが、現在のコンピュータ環境ならばまず問題にならない。

Rubyが動くOSならたぶんどこでもつかえる。複数ファイルのドラッグアンドドロップにも対応させてみた。例外処理とかはまだ良くわかっていないので付けていない。なので、ちょっと場合によっては危険かも。

#!/usr/bin/ruby
# toeucjp.rb
require 'nkf'

opt = '-e -m0 -x'				# -eはeuc-jp -mはbase464 -xは半角
files = ARGV

for file in files
   # パスとファイル名を解析
   filepath = File::dirname(File::expand_path(file.chomp))
   oldfilename = File::basename(file)
   newfilename = 'EUCJP_' + oldfilename

   # ファイルを開いておく
   f = open(filepath + '/'  + oldfilename, "r")
   nf = open(filepath + '/' + newfilename, "w")

   # 実質的な処理
   while line = f.gets
      nf.print NKF.nkf(opt, line)	# euc-jpで出力
   end

   nf.close
   f.close
end
# toeucjp.rb ends here.

逆引きRubyはとても参考になる。これとRubyプログラミング基礎講座があればフィルタやファイルの処理程度のプログラムを書くのには困らないと思った。ただ、大規模なプログラムをRubyスクリプトで記述したいときにはたぶん別の書籍やリソースも当たる必要があるんだろうなあ。だんだんPerlが良くわからなくなりつつあるので、これからはRubyスクリプトを書くことにしていこうか。

Ruby プログラミング基礎講座

Ruby プログラミング基礎講座