全員のデスクトップのショートカットを揃えたほうが電話でサポートしやすいね、ということで。
VBスクリプトを使ってショートカット作成スクリプトを作ってみた。
使い方は、こんな感じ。
C:\>create-shortcuts.vbs shortcut.conf
create-shortcuts.vbs
'##################################################### ' ショートカット作成スクリプト ' 設定ファイル複数受付版 '##################################################### Const FOR_READING = 1 Const COL_FOLDER = 0 Const COL_SUB_FOLDER = 1 Const COL_TITLE = 2 Const COL_PATH = 3 Const COL_WORK = 4 Set objArgs = WScript.Arguments 'Wscript.Echo objArgs(0) 'Wscript.Echo objArgs.length For arg_index = 0 to objArgs.length-1 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile(objArgs(arg_index), FOR_READING) Do Until objTextFile.AtEndOfStream strNextLine = objTextFile.Readline if strNextLine <> "" then conf = Split(strNextLine , ",") if conf(COL_FOLDER) <> "" then Set Shell = CreateObject("WScript.Shell") CreatePath = Shell.SpecialFolders(conf(COL_FOLDER)) if CreatePath = "" then CreatePath = conf(COL_FOLDER) if conf(COL_SUB_FOLDER) <> "" then CreatePath = CreatePath & "\" & conf(COL_SUB_FOLDER) if not objFSO.FolderExists(CreatePath) then objFSO.CreateFolder(CreatePath) end if end if Set link = Shell.CreateShortcut(CreatePath & "\" & conf(COL_TITLE) &".lnk") link.Description = conf(COL_TITLE) link.HotKey = "" link.IconLocation = conf(COL_PATH) link.TargetPath = conf(COL_PATH) '通常のウインドウ link.WindowStyle = 1 link.WorkingDirectory = conf(COL_WORK) args = "" For i = COL_WORK+1 to Ubound(conf) args = args & " " & conf(i) Next link.Arguments = args ret = link.Save 'デバッグ情報 ' Wscript.Echo "タイトル:" & conf(0) ' Wscript.Echo "パス:" & conf(1) ' Wscript.Echo "作業ディレクトリ:" & conf(2) ' Wscript.Echo "引数:" & args ' Wscript.Echo ret end if end if Loop Next
shortcut.conf
,******************************************** , カンマで始まる行はコメント行 ,******************************************** ,カンマで区切って、作成場所、タイトル,パス,作業ディレクトリ,引数1,引数2,引数3,...の順に書いておくと ,作成場所(デスクトップなど)にショートカットを作る ,作成場所に指定できるのは次のものだけ , AllUsersDesktop , AllUsersStartMenu , AllUsersPrograms , AllUsersStartup , Desktop , Favorites , Fonts , MyDocuments , NetHood , PrintHood , Programs , Recent , SendTo , StartMenu , Startup , Templates ,**************************************************************** , ここからが実際のデータ ,**************************************************************** Programs,,Excel,C:\Program Files\Microsoft Office\Office11\excel.exe,H:\, Programs,,Word,C:\Program Files\Microsoft Office\Office11\winword.exe,H:\, Programs,,PowerPoint,C:\Program Files\Microsoft Office\Office11\powerpnt.exe,H:\, Programs,,Visio,C:\Program Files\Microsoft Office\Visio10\visio.exe,H:\, Programs,,Access,C:\Program Files\Microsoft Office\Office11\msaccess.exe,H:\, Desktop,,Excel,C:\Program Files\Microsoft Office\Office11\excel.exe,H:\, Desktop,,Word,C:\Program Files\Microsoft Office\Office11\winword.exe,H:\, Desktop,,PowerPoint,C:\Program Files\Microsoft Office\Office11\powerpnt.exe,H:\, Desktop,,Visio,C:\Program Files\Microsoft Office\Visio10\visio.exe,H:\, Desktop,,Access,C:\Program Files\Microsoft Office\Office11\msaccess.exe,H:\,
- スクリプトファイル Gist:232452 create-shortcuts.vbs
- 設定ファイル Gist:232454 shortcut.conf