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設定読み込み.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