送るメニューを便利にするJScript
送るメニューに「送るメニューに追加」項目を加えます.
これで,よく使う実行ファイルのショートカットを,すぐに送るメニューに加えることが出来ます.
送るメニューに加えることで,コンテキストメニューのメタボ化を防ぎ,さらにレジストリをいじる必要もありません.
また,これを応用して,「スタートアップに追加」項目も作れます.
参考ください.
送るメニューの場所
大抵のバージョンは,ファイル名を指定して実行で「sendto」と打つことで,SendToファイルが開くとのこと.
Win7だと出来なかった.
「C:\Users\<アカウント名>\AppData\Roaming\Microsoft\Windows\SendTo」になる.
送るメニューに追加
送るメニューにショートカットを追加したい,実行ファイル(および,そのショートカットでもOK)を右クリックで選択して送るメニューに,項目としてそのショートカットを追加するスクリプトが以下.
このスクリプトをSendToフォルダに入れておく.
ちなみに,場所の指定をSenttoフォルダの代わりにスタートアップを指定してあげることで,スタートアップへの追加を項目として入れることが可能(!).
//------------------------------------ // もろもろ定義 //------------------------------------ // SendToフォルダの場所 strPathSendto = "C:\\Users\\shom\\AppData\\Roaming\\Microsoft\\Windows\\SendTo\\"; // ショートカット名の接尾 //strSuffix = "へのショートカット"; strSuffix = ""; //------------------------------------ // 実装 //------------------------------------ // もろもろ取得 oShell = new ActiveXObject( "WScript.Shell" ); oFS = new ActiveXObject( "Scripting.FileSystemObject" ); oArgs = WScript.Arguments; // 作成 for( i = 0; i < oArgs.Count(); i++ ) //複数選択に対応 { oArg = oArgs(i); // 分岐してみたものの,どうやらWindowsが勝手に解決してくれる模様... if( oFS.GetExtensionName( oArg ) == ".lnk" ) // ショートカットファイル { //そのままコピー oShell.CopyFile( oArg, strPathSendto, false ); } else // 実体ファイル { // ファイル名取得 strFileName = oFS.GetBaseName( oArg ); //拡張子抜き // ショートカット作成 oLink = oShell.CreateShortcut( strPathSendto + strFileName + strSuffix + ".lnk" ); oLink.TargetPath = oArg; //リンク先 oLink.Description = strFileName + strSuffix; oLink.Save(); //保存 } }
後記
実際には,こういったことを簡単に実現するツールがあれば良いですね.
みたところ良いものがなかったので,自分でつくってみようと思います.
以上.