NTFS中の日本語ファイル名を何とかしたい

僕の環境では、iTunesエンコードしたMP3ファイルをNTFS中に格納しています。NetBSDでそのNTFSをmountすると、ファイル名はUTF-8で見えます(NetBSDにはkernel iconvはありません)。で、gqmpeg(gqmpeg-0.20.0nb8)だとか端末だとかもろもろの環境はEUC-JPを使っているので、文字化けなどいろいろ問題があります。
仕方がないので、以下のスクリプトを使ってEUC-JPのファイル名でシンボリックリンクを作成して回避しようと思います。どうせNetBSDではNTFSはreadonlyでしかmountできないし。

#!/usr/bin/env ruby

require 'find'
require 'fileutils'
require 'iconv'

if ARGV.size < 2
  $stderr.puts 'usage: lnmp3.rb from_dir to_dir'
  exit 1
end

from_dir = ARGV.shift
to_dir = ARGV.shift
to_dir += '/' unless to_dir =~ /\/$/

Find.find(from_dir) do |file|
  next if FileTest.directory?(file)
  eucfile = Iconv.conv('eucjp-ms', 'utf-8', 
                       to_dir + file.sub(from_dir, ''))
  FileUtils.mkdir_p(File.dirname(eucfile))
  FileUtils.ln_s(file, eucfile)
end

Citrus iconvの文字化けが心配だったのですが、id:nurseさんのここを見るとutf-8からeucjp-msへの変換は大丈夫そうです。