UWSCのパラメーターとショートカットについて
公式掲示板にショートカットのあるディレクトリーを取得できますか?という質問があったので、書いてみる。
想定としては、
と考えました。
ネックは、GET_CUR_DIRはスクリプトのあるディレクトリーである、ということか。
ちなみに、Win32APIのGetCurrentDirectoryしても同じ。カレントが変更されてる。
案は、、、そうですね、、、
スクリプト配布スクリプトを作成する
こうすれば、各ディレクトリー内のスクリプトは、GET_CUR_DIRで現在のディレクトリーが取得できる。
デメリットは、実体があるので、ついつい各ディレクトリーのスクリプトを修正したくなること。
ショートカットで起動パラメーターを指定する
例えば「test.uws」を起動したい場合、関連付けを利用して「test.uws」へのショートカットを作成しがちですが、この場合、いろいろ小細工が必要になります。(多分。環境次第だけど)
なので、以下の手順でショートカットを作成します。
- ショートカットを作成したいディレクトリー(作業対象のディレクトリーでなくても良い)で、右クリックし「新規作成」から「ショートカット」を選択する
- 項目の場所に「(uwsc.exeのフルパス) (test.uwsのフルパス) (作業対象ディレクトリー)」を入れる。
- 名前は、test.uwsを作業対象ディレクトリーで動作させることがわかり易いものにする
で、test.uws側では、以下のスクリプトを追加して、作業対象ディレクトリーを取得する。
DIM tarPath = EMPTY IF LENGTH(PARAM_STR) THEN tarPath = PARAM_STR[0]
ショートカットが期待通り作成されていれば、tarPathに作業対象ディレクトリーが入っています。
この辺でしょうか。