相対パス起動

Windpwsのショートカットは、絶対パスで記録されるため、フォルダ構成や上位フォルダの名前が変わったり、
持ち運びするメモリスティックのようにドライブ名が固定で無い場合は使用できません。

本スクリプトは、スクリプトのあるフォルダを基点にした「相対パス」で実行します。(またはファイルを開く)
リムバブルディスクなどでも、割り当てられるドライブレターに関係なく、アプリケーションを実行する(またはファイルを開く)ことができます。

メニュー
使用例
相対パスの記述方法
VBScriptコード
スクリプトのダウンロード
リンクリスト



使用例

下記の手順

1.スクリプトファイルをダウンロード&解凍

2.相対パス起動.vbs を基点フォルダにコピーして、適当な名前に変更

3.スクリプトファイルをメモ帳で開いて、開きたい(実行したい)ファイルの相対パスを記述
  スクリプトの中の、target="xxxxxx"の xxxxxx 部分に、開きたいファイルの相対パスを記述して保存。



相対パスの記述方法


.」 同一(自分自身と同じ)フォルダ
..」 一つ上位のフォルダ

下図の位置関係で、 相対パス起動.vbs から いとこ.txt を開く場合
..\sister\nibling\いとこ.txt と記述します。

右端は、それぞれのファイルの、相対パス.vbs から見た相対パス。



パス中に半角スペースが入っている場合の注意

const target = "abc def.txt"
とすると、「abc」をファイルパス、「def.txt」はファイル(またはアプリ)に渡すパラメータとして解釈し、
エラーとなる。
半角スペースを含めてパスとするには、全体を「" "」で囲む必要がある。
ただし、「"」自体が文字列を表す特殊文字なので、「"」を単なる1文字としなければならない。

それが「""」とダブルをクォートを2個並べる方法
1個目のダブルクォートで、それに続く特殊文字の機能を打ち消している。
JavaScriptやC言語のエスケープ記号としての「\」と同様

ファイル名に半角スペースが含まれる場合
const target = """abc def.txt"""

パラメータに半角スペースが含まれる場合
const target = "notepad.exe ""program files\abc def.txt"""

ファイルパスおよびパラメータに半角スペースが含まれる場合
const target = """C:\Program Files\Windows NT\Accessories\wordpad.exe"" ""abc def.txt"""

VBScriptコード

VBScriptコードは、きわめてシンプル。

51:スクリプトファイルのあるパスを取得
52:カレントディレクトリをスクリプトファイルのパスに設定
55:実行(ウィンドウズシェルは相対パスを指定可)



スクリプトのダウンロード





×
PageTop