• 締切済み

VBのshellについて。

すみません。教えてください。 環境OS:winXP ソフト:VB6.0 sp5 内容:shellを利用してbatファイルをキックさせようとしていますがうまくいかないのです。 --VBソース-- Str = "C:\program file\SOFT\test.bat" & "/w" nR = shell(Str,1) -- batファイルの中身-- @echo dir %1 > "C:\Program File\SOFT\log.txt" 以上のデータなのですが、EXEを作成し、Shellを起動するとエラーが帰ります。 確認したところ、windows2000では問題ないのですが、XPではProgram Fileのスペースが問題で、エラーになってしまうのです。 教えていただきたいのは、 1.本当にXPではスペースのあるディレクトリ名はエラーになるのかということ。 2.もしエラーになるのであれば、対応策。 の上記の2点を教えてくださいませ。 いろいろ試し、探しているのですが、なかなか見つからず困っています。 XPのみできないっていうのも半信半疑だし・・・・ お願いします。

みんなの回答

回答No.2

Str = """C:\program file\SOFT\test.bat""" & "/w" のように "" で囲まないとうまく実行できないようですね。( Debug.Print Str で見たとき、"" で囲まれているという意味です。) あと、"Program File" じゃなくて "Program Files" ですよね?

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

え~、詳しくは忘れたが、Windows 2000の頃、コマンド中にスペースが入っていたら一旦そこで区切ってEXEだと仮定して起動を試行し、だめだったら次のところまで延ばして最後まで試す、という動きをしていた、XPではどうも無いっぽいね。詳しく試したわけではないので違うかも。 もしWindows2000でも大丈夫なようなら最初から"で括っちゃえ。 """C:\program file\SOFT\test.bat"" /w" 例によって試してません。

関連するQ&A