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