VBSの質問です

VBSに詳しい方お願いします。こちらの質問の続きです http://q.hatena.ne.jp/1369925010

a.vbs
--------------------------------------------
dim wsh
set wsh = CreateObject( "WScript.Shell" )
wsh.CurrentDirectory = "C:\hoge1"
wsh.Run "C:\hoge1\hoge2\b.vbs"
--------------------------------------------
があります
a.vbsのフォルダの位置を変更するたびにa.vbs内のフォルダパスを変更するのは手間です。
そう思い

a.vbs
--------------------------------------------
dim wsh
set wsh = CreateObject( "WScript.Shell" )
wsh.CurrentDirectory = "."
wsh.Run ".\hoge2\b.vbs"
--------------------------------------------
に変更し実行しましたがエラーが出て実行出来ませんでした

あと、どのようにすればa.vbsの場所にかかわらず、処理できるようになるでしょうか?
よろしくお願いします

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/05/31 19:36:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Silvanus No.1

回答回数180ベストアンサー獲得回数71

ポイント300pt

実行中のスクリプトのあるディレクトリは次の式で与えられますので
これをCurrentDirectoryとして設定すればOKだと思います。

CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder
他3件のコメントを見る
id:Silvanus

因みに「動かない」というのは、何らかのエラーメッセージが
表示されたと言うことですか?
それとも表面上何事も起きなかったということでしょうか?
以下のコードを既存のVBSに追加、あるいは、このコードだけでVBSを作成して
実行した結果が、VBSファイルのあるディレクトリを正しく表示しているので
あれば、恐らくwsh.Runの行がおかしいということになりますね。
msgbox CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).ParentFolder

2013/05/31 19:44:12
id:Silvanus

動かないのにBA賞とは誠に恐れ入ります…。有り難うございます。

2013/05/31 19:44:43

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません