2012年8月21日火曜日

TeraTerm Menuのリストを移行


TeraTerm Menuを便利に使ってます。
サーバ情報がそれなりにあるので、これはかなり便利。

なんだけど、PCを移行しようとしたらレジストリに保存していることが分かった。
レジストリをエクスポートしてインポートすれば行けるのかもしれないが、あんまりやりたくないなぁ…。

調べていたら、ttpmenu.iniをttpmenu.exeと同じディレクトリに作れば、テキストファイルで管理できる、とあった。
「それは便利じゃん!」と思ったが、もう少し調べると、それをやっちゃったら設定全部消える。
http://es.sourceforge.jp/ticket/browse.php?tid=11329&group_id=1412
http://www.trapon.jp/log/201205/teraterm_menu.html

まだサーバ情報何も入れていない新しいPCでttpmenu.iniを作成。
TeraTerm Menuを起動して、適当に情報を入れてみる。
で、ttpmenu.iniを確認。
古いPCのレジストリも確認。

当たり前だけど、フォーマットはほぼ同じ。

あ、これ変換スクリプトとか書けそうかも、と思い、作ってみました。
レジストリからttpmenu.iniへの変換になります。

1. regeditで「HKEY_CURREN_USER\Software\ShinpeiTools\TTermMenu」以下をエクスポート(仮にttermmenu.regとする)
2. シェルスクリプトが動かせる環境で以下を作成(仮にmake_ttpmenu.shと命名)
#!/bin/bash

while read LINE
do
  echo $LINE     |
  sed s/\"//g    |
  sed s/://g     |
  sed "s/,/ /g"  |
  sed s/dword//g |
  sed s/hex//g

done < <( nkf --utf8 $1 | sed -e '1,2d' | sed "s/HKEY_CURRENT_USER\\\Software\\\ShinpeiTools\\\//g" | sed "s/TTermMenu\\\//g" )
3. 上記スクリプトにエクスポートした*.regファイルを与えると、標準出力に吐き出すので、リダイレクトさせてttpmenu.iniを作成
$ make_ttpmenu.sh ttermmenu.reg > ttpmenu.ini
4. これを新しいPCのttpmenu.exeと同じフォルダに置けば移行完了。

見ての通り、適当に作ったので「うまく引き継がれていない」等あるかと思うけど、自己責任でお願いします。

0 件のコメント: