それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

puttyの設定を保存する。スクリプト書いた。

puttyの設定をどこかに持って移動させたいなと思った。出来ればPutty設定もバージョン管理できれば嬉しいよね。

putty 設定はレジストリにあるので、簡単に保存できた。

Putty設定保存.js

//ファイルダイアログ
function FileSelectionDialog(){
	var oUserAccComDlg = new ActiveXObject("UserAccounts.CommonDialog");
	oUserAccComDlg.Filter = "レジストリファイル|*.reg|All Files|*.*";
	if(!oUserAccComDlg.ShowOpen()){
	    return null;
	}
	return oUserAccComDlg.FileName;
}
//レジストリ保存
function SaveRegistry( key,filename ){
	WshShell = new ActiveXObject( "WScript.Shell" );
	var cmd = 'reg export '+ PUTTY_REG_KEY + ' ' + filename;
	WshShell.Exec(cmd);
}
//メイン
function main(){
	PUTTY_REG_KEY = 'HKEY_CURRENT_USER\\Software\\SimonTatham\\PuTTY';
	filename = FileSelectionDialog()
	if(filename){
		filename = filename.match(/\..+$/) ? filename: filename+".reg" ;
		SaveRegistry( PUTTY_REG_KEY, filename);
	}
}

main();

//EOF
2010-06-06 追記

Vista以降ではエラーになります。UserAccounts.CommonDialogは、WindowsXpで搭載され、WindowsVistaで被搭載になっていたようです。UserAccounts.CommonDialogは便利だっただけに残念です。

使い方

ファイル保存して実行する。
実行は右クリックから。開くでOK

または、ファイル名を指定して実行で

wscript putty設定保存.js

puttyの設定をロードする。

レジストリをダブルクリックしたら簡単に取り込める。

それだとおもしろく。

先程のファイルを修正して対応した。

Putty設定読み込み.js

//ファイルダイアログ
function FileSelectionDialog(){
	var oUserAccComDlg = new ActiveXObject("UserAccounts.CommonDialog");
	oUserAccComDlg.Filter = "レジストリファイル(.reg)|*.reg|All Files|*.*";
	if(!oUserAccComDlg.ShowOpen()){
	    return null;
	}
	return oUserAccComDlg.FileName;
}
//レジストリ取り込み
function RestoreRegistry( key,filename ){
	WshShell = new ActiveXObject( "WScript.Shell" );
	var cmd = 'reg import '+ PUTTY_REG_KEY + ' ' + filename;
	WshShell.Exec(cmd);
}
//メイン
function main(){
	PUTTY_REG_KEY = 'HKEY_CURRENT_USER\\Software\\SimonTatham\\PuTTY';
	filename = FileSelectionDialog()
	if(filename){
		RestoreRegistry( PUTTY_REG_KEY, filename);
	}
}

main();

//EOF

関連記事。
PuTTYの設定を保存する
ファイルダイアログを作る。WSH(JScript)でDialog