VBSの質問です

1.vbs
***************************
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "a.vbs"
***************************
を実行した場合はa.vbsがきちんと動くのですが
2.vbs
***************************
dim wsh
Dim objFileSystemObject
Dim strFolderPath
set wsh = CreateObject( "WScript.Shell" )
Set objFileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
strFolderPath = objFileSystemObject.GetFolder(".").Path
wsh.CurrentDirectory = strFolderPath & "\hoge"
wsh.Run "b.vbs"
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "a.vbs"
***************************
のようにb.vbsの処理を入れると
hogeフォルダの中にb.vbsがきちんと入っているにもかかわらず
a.vbsが見つかりませんというエラーが出てきます
どこを修正すれば
2.vbsでa.vbsが動くようになるのでしょうか?

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

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント300pt

wshとWSHShellはそれぞれ独立しているため、
wsh.CurrentDirectoryという指示はwshに対してのみ有効となり、
WSHShell.CurrentDirectoryは変更されません。

WSHShellのカレントディレクトリも変更したいのであれば、
WSHShell.CurrentDirectory = strFolderPath & "\hoge" も入れましょう。

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

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

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

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

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