「ショートカットで相対パス」

Windows のショートカットファイルはバイナリなので、テキストエディタでは編集できません。また絶対パスでしか指定できず、リンク切れになることもしばしばです。

もちろんランチャなりスクリプトなりを使えば解決できますが、標準の環境で動くに超したことはありません。そんなわけで Windows相対パスを使う方法を3つどうぞ。

その1:バッチファイル

.bat のバッチファイルに相対パスを書くだけ。簡単ですね。ただしコマンドプロンプトが一緒に出てきてしまうのが難点です。ショートカットを作りプロンプトを最小化して起動すれば幾分かマシですが、ショートカットは絶対パスなので元の木阿弥だという。

"相対パス"

その2:VBScript

.vbsMicrosoft謹製のスクリプトを使えばプロンプトを介さずとも起動できます。テキストファイルの拡張子を変えて、以下のように書きましょう。

Set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run "相対パス"

その3:RunDLL32.exe

.lnk のショートカットファイルを普通に作って、プロパティのリンク先にこう書く。ここまで複雑だと、他の2つと大して変わりませんね……。

%windir%\system32\RunDLL32.exe Shell32.dll,ShellExec_RunDLL "相対パス"

フォルダを開きたいときはこちら。

%windir%\explorer.exe /n,"相対パス"