• 締切済み

vbsからバッチファイル実行時の引数渡しについて

vbsからバッチファイルを実行する時に、引数として変数を渡すことはできるでしょうか。バッチファイルは引数を受け取れる記述をしています。変数の値は常に変動します。 CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat",0 を使ってtest.batを実行しています。"C:\HULTOOL\test.bat aaa(aaa)は固定の数値ですという書き方で、バッチファイルがaaaを第一引数として受け取れることは試してできました。しかし、aaaを変数にすると成功しません。何かよい記述方法はあるのでしょうか。ご教授ください。

みんなの回答

  • mk48a
  • ベストアンサー率56% (1133/2007)
回答No.2

>CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat:" & aaa CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat " & aaa で、できたと思います。:のかわりにスペースを入れてみてください。

silver49
質問者

お礼

ご回答ありがとうございました。無事解決することができました。

noname#259269
noname#259269
回答No.1

成功しない、というのは具体的にどういう現象ですか? おそらく、 aaa の代わりに変数名(仮に hen )を入れると、バッチファイル側で "hen" という文字列が取れてくる、という事じゃないか、と推測しますが。以下その前提で書きます。 ルールを思い出すべきです。 「"」で囲まれた範囲はあくまで固定の文字列をあらわします。 変数の中身を文字列に連結させたい時は "文字列:" & hen などのようにするんじゃなかったですか?

silver49
質問者

お礼

ご回答ありがとうございました。この問題を解決することができました。

silver49
質問者

補足

ご返答ありがとうございます。おっしゃる通り、成功しないという現象は言われるとおりの現象です。 示された方法に従い、 CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat:" & aaa (aaaは変数)と記述して実行しましたが、指定のファイルが見つかりませんとのエラーがでました。test.batの後に:がついた為かと思われますが、何か書き方が足りないのでしょうか。

関連するQ&A