- 締切済み
vbsからバッチファイル実行時の引数渡しについて
vbsからバッチファイルを実行する時に、引数として変数を渡すことはできるでしょうか。バッチファイルは引数を受け取れる記述をしています。変数の値は常に変動します。 CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat",0 を使ってtest.batを実行しています。"C:\HULTOOL\test.bat aaa(aaa)は固定の数値ですという書き方で、バッチファイルがaaaを第一引数として受け取れることは試してできました。しかし、aaaを変数にすると成功しません。何かよい記述方法はあるのでしょうか。ご教授ください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mk48a
- ベストアンサー率56% (1133/2007)
>CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat:" & aaa CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat " & aaa で、できたと思います。:のかわりにスペースを入れてみてください。
成功しない、というのは具体的にどういう現象ですか? おそらく、 aaa の代わりに変数名(仮に hen )を入れると、バッチファイル側で "hen" という文字列が取れてくる、という事じゃないか、と推測しますが。以下その前提で書きます。 ルールを思い出すべきです。 「"」で囲まれた範囲はあくまで固定の文字列をあらわします。 変数の中身を文字列に連結させたい時は "文字列:" & hen などのようにするんじゃなかったですか?
お礼
ご回答ありがとうございました。この問題を解決することができました。
補足
ご返答ありがとうございます。おっしゃる通り、成功しないという現象は言われるとおりの現象です。 示された方法に従い、 CreateObject("WScript.Shell").Run "C:\HULTOOL\test.bat:" & aaa (aaaは変数)と記述して実行しましたが、指定のファイルが見つかりませんとのエラーがでました。test.batの後に:がついた為かと思われますが、何か書き方が足りないのでしょうか。
お礼
ご回答ありがとうございました。無事解決することができました。