人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WSH(VBS)をexeファイルにした際に実行ファイルが保存してある場所を取得することは可能??

テキストファイルでVBSを開発し、ダブルクリックするだけで実行することはできました。
ただし、フルパスを入力しているので、開発環境以外で使用できない可能性があるということが弱点です。
currentdirectryでカレントディレクトリを取得できることはわかりましたが、VBSにコーディングしてexeファイルを作成後、実行するとカレントディレクトリが一時フォルダ(C:\Windows\Temp)を持ってきてしまいます。
開発環境であっても他の環境であってもこの取得してくるフォルダ名が同じです。
どうにかしてこのフォルダ名を一時フォルダではなくファイルを実行したフォルダにできないのでしょうか?
いくら調べてもわからなかったので教えて下さい。

●質問者: keijun5145
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● y3kz
ベストアンサー

「MakeExe」の「readme.txt」に作者さんの注意書きがありますよー

なおスクリプト中で実行ファイルのパスを知りたい時は、
『WScript.ScriptFullName』ではなく、添付ファイルに含まれてい
るModulePath.vbsおよびModulePath.jsにある『ModulePath()』関数
を利用してください。

元のvbsをTEMPフォルダに展開するときに
.exeがあるフォルダのパスを書いたファイルを
作っておいてくれてるみたいです。
「ModulePath()」は、そのファイルから
フォルダのパスを読み取る関数ですね。

質問者さんのVBSに「ModulePath.vbs」にある
「ModulePath()」のブロックをコピペして、
CurrentDirectory の代わりに使えばいいです。


keijun5145さんのコメント
ありがとうございます。 早速やってみます。m(__)m
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ