◆ 背景
最近スタートメニューを使うようになった。
フォルダのショートカットはスタートメニューの検索から除外されてしまう。
batなら検索に引っかかる。
bat経由でショートカットに引数持たせて開こう。けどつくるの面倒くさいから自動化しよう。
ショートカットはbatでつくれないらしくVBSなら作れるぽい。作った。
◆ 手順
explorerOpen.batとcreateShortcut.vbsを同じ場所につくる。
createShortcut.vbsにショートカットを作りたいフォルダをドロップ
対象フォルダの引数をもったbatへのショートカット(.lnk)ができる。
スタートメニューの検索対象フォルダ(Userのスタートメニュー等)にいれる。
スタートメニューの検索からフォルダが開ける。
◆ 参考リンク
ショートカットを作成する|VBScript Tips
http://www.kanaya440.com/contents/tips/vbs/008.html
標準表示されるアイコンデータはどこにある? - ITmedia エンタープライズ
http://www.itmedia.co.jp/help/tips/windows/w0052.html
◆ スクリプト
explorerOpen.bat
REM 引数のフォルダを開く
explorer %1
createShortcut.vbs
' createShortcut.vbs
' 引数チェック
if WScript.Arguments.Count = 0 then
WScript.echo("Require target.")
WScript.Quit(-1)
end if
targetFullPath = WScript.Arguments(0)
' 開く処理用Batの指定
set fileSystemObject = createObject("Scripting.FileSystemObject")
scriptPath = fileSystemObject.getParentFolderName(WScript.ScriptFullName)
openBat = scriptPath + "\explorerOpen.bat"
' ショートカットの作成
saveFilePath = targetFullPath + ".lnk"
Set shell = WScript.CreateObject("WScript.Shell")
Set newShortCut = shell.CreateShortcut(saveFilePath)
newShortCut.TargetPath = openBat
' """" <- ダブルクオーテーション表現
newShortCut.Arguments = """" + targetFullPath + """"
' フォルダアイコンを指定
newShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,3"
newShortCut.Save