X-Finderで郵便番号検索

X-Finderを検索のフロントエンドに!みたいなノリで。
最終的に使わなくなるかもしれないけど、
Everythingの検索結果取り込みが便利すぎたので同じ方向性でがんばる。

郵便番号データ取得

ここから全国一括のデータをダウンロード。

読み仮名データの促音・拗音を小書きで表記するもの - 日本郵便
http://www.post.japanpost.jp/zipcode/dl/kogaki.html


解凍してできたCSVをデータ変換。
いい加減な正規表現だと、

s/.*?,.*?,"(\d\d\d)(\d\d\d\d)",.*?,.*?,.*?,"(.*?)","(.*?)","(.*?)",.*$/\1-\2,\3\4\5/


これでできたデータが、

060-0000,北海道札幌市中央区以下に掲載がない場合
064-0941,北海道札幌市中央区旭ケ丘
060-0041,北海道札幌市中央区大通東
060-0042,北海道札幌市中央区大通西(1〜19丁目)

「以下に掲載がない場合」が気になる場合は削除。


%X-Finder%data\zipcode.csvとして保存。

ツール入れ

awkのインストール。

Gawk on Windows
http://www.kt.rim.or.jp/~kbk/gawk-3.1/

プログラムはパスが通っている場所に。

awkスクリプト作成

BEGIN {
  FS = ","
  c = 0
  print "[X-Finder]"
}

{
  print "Name" c "=" $1 ":" $2
  print "Path" c "=Set:URIEncode=UTF-8/`/http://maps.google.co.jp/maps?f=q&source=s_q&hl=ja&geocode=&q=" $2 "&ie=UTF8&hq=&hnear=" $2 "&z=13" 
  print "Type" c "=1"
  print "Icon" c "="
  print "Ext" c "="
  c = c + 1
}

END {
  print "Count=" c
}

%X-Finder%sc\zipcode.awkとして保存。

X-Finderのランチャ設定

適当なキーなりにランチャを割り振る。

Input:"郵便番号/住所検索","検索ワードを入力してください。",""
ChangeTab:Right
Close:*zip_search.ini*
SW:0:%ComSpec% /c %InstallDrive% & cd %X-Finder% & type data\zipcode.csv | gawk "{a=\"%InputData%\";gsub(/ /,\".*\",a);if ($0 ~ a){print}}" | gawk -f sc\zipcode.awk > tf\zip_search.ini & xf ChangeTab:Right,Extra:%X-Finder%tf\zip_search.ini

動作は実行。
検索結果は常に右のタブで開くとしているのでChangeTabを入れてる。
Closeを入れないと何故かエラーを吐くので入れてる。
これはVista限定の症状かも。


あと、ツールフォルダをクリップフォルダにしておく。
ツール→基本オプション→その他→クリップフォルダにExtra:%X-Finder%tf\zip_search.iniを追加。

動作

ランチャを起動すると検索ワードを聞かれる。
入れると郵便番号もしくは住所で絞り込み、結果を右のタブに返す。
項目を実行するとGoogleMapでその住所を開く。


郵便番号もしくは住所を貼り付けたい場合は、ランチャの名前を住所に、パスを郵便番号にする。
あと、クリップフォルダを外す。
これでファイル名とパスをコピーするランチャを使えば単体でコピーできる。