afxからショートカットを作成するスクリプトの修正
いつも使っている、ファイラーのafxでショートカットを作成する、スクリプトがあるんだけど作業フォルダが一緒に設定されないので設定されるように修正。
'------------------------------------------------------------ 'FS : ファイルシステムオブジェクト 'WS : スクリプトオブジェクト 'SC : ショートカットオブジェクト 'F : ターゲット(リンク元) ファイルorディレクトリ 'WD : ワークディレクトリ 's : 第一引数(リンク元ファイルパス) 't : 第二引数(ショートカット作成ディレクトリパス) '------------------------------------------------------------ Dim FS,WS,SC,F,WD,s,t Set FS = CreateObject("Scripting.FileSystemObject") Set WS = WScript.CreateObject("WScript.Shell") Function ErrExit(m) MsgBox m,,WScript.ScriptName WScript.Quit 1 End Function If WScript.Arguments.Count = 2 Then s = WScript.Arguments(0) Select Case True Case FS.FileExists(s) Set F = FS.GetFile(s) WD = F.ParentFolder Case FS.FolderExists(s) Set F = FS.GetFolder(s) WD = "" Case Else ErrExit s & " が見つかりません" End Select t = WScript.Arguments(1) If FS.FolderExists(t) Then s = FS.BuildPath(t,FS.GetBaseName(F.Path) & ".lnk") If Not FS.FileExists(s) Then Set SC = WS.CreateShortcut(s) SC.TargetPath = F.Path '--------------------------------------------- SC.WorkingDirectory = WD '--------------------------------------------- SC.Save WScript.Quit 0 Else ErrExit "既に " & s & " が存在しています" End If Else ErrExit t & " が見つかりません" End If Else ErrExit "使い方 :" & vbCrLf & _ "WScript.exe " & WScript.ScriptName & " ""TargetPath"" ""FolderPath""" & vbCrLf & _ """TargetPath""のショートカットを""FolderPath""に作ります" End If