たきるブログ

C#やOracleなどの情報を書いています。

【VBScript】ショートカットファイルを作成する

VBScriptを使って、バッチから特定のショートカットファイルを作成した場合などに有効。

下記の例では、受け取るパラメーターはこの通り。
ショートカットファイルのファイル名の拡張子はlnkまたはurlでなければならない。
また、作業フォルダは元ファイルのパスとなるようにしている。

No. 内容
1 元ファイルのパス C:\hoge
2 元ファイルのファイル名 元ファイル.xlsx
3 ショートカットファイルのパス D:\shortcut
4 ショートカットファイルのファイル名 ショートカットファイル.lnk

create_shortcut.vbs

Dim params
Dim sourcePath
Dim sourceFile
Dim targetPath
Dim targetFile

' コマンドライン引数を取得
Set params = Wscript.Arguments
If params.Count < 4 Then
   WScript.echo "コマンドライン引数が足りません"
   WScript.Quit
End If

sourcePath = params(0)
If Right(sourcePath, 1) <> "\" Then
    sourcePath = sourcePath & "\"
End If
sourceFile = params(1)
targetPath = params(2)
If Right(targetPath, 1) <> "\" Then
    targetPath = targetPath & "\"
End If
targetFile = params(3)


' ショートカットを作成
Dim objShell
Dim objShortCut
Set objShell = WScript.CreateObject("WScript.Shell")
Set objShortCut = objShell.CreateShortcut(targetPath & targetFile)
objShortCut.TargetPath = sourcePath & sourceFile
objShortCut.WorkingDirectory = sourcePath
objShortCut.Save

Set objShortCut = Nothing
Set objShell = Nothing