プロが教えるわが家の防犯対策術!

お世話様です。

WindowsXP環境に下記バッチファイルがあります。
バッチコード内は以下の通りです。

------------------------------------------------
set TARGET_FILE=test.txt
------------------------------------------------

この【TARGET_FILE】という変数内に格納されている【test.txt】という値を
パラメーターとしてあるVBS内の変数Aがそれを受け取って処理をする・・・。
という事は可能でしょうか?

上記バッチは数種類あり、【TARGET_FILE】変数内の値がそれぞれ違います。
VBSコード内は以下の通りです。

------------------------------------------------
Option Explicit

Dim FILE

FILE = ○○○←ここに上記バッチ内の【TARGET_FILE】変数の値を受け取る。

MsgBox FILE
------------------------------------------------

各バッチは上記VBSで実行したいのです。
Msgbox程度の処理は当然バッチでも可能ですが、何個もVBSを作成するのは厳しいので、
パラメーターが可能であれば、このVBS1個で済みます。

ご存知の方がおりましたら、お知恵を拝借しても宜しいでしょうか?

何卒宜しくお願い致します。

A 回答 (3件)

WScript.Shell オブジェクトのExpandEnvironmentStringsをつかえば、VBS内で環境変数の値を取得できます。



------------------------------------------------
Option Explicit

Dim FILE
Dim wshShell

Set wshShell = WScript.CreateObject("WScript.Shell")
FILE = wshShell.ExpandEnvironmentStrings("%TARGET_FILE%")

MsgBox FILE
------------------------------------------------

この回答への補足

ご回答ありがとうございます。

しかし実際に試した所、VBSを実行したら【%TARGET_FILE%】という変数の値ではない文字がポップアップで表示されました。

VBS内の【FILE】の中にバッチ内の【test.txt】が格納されませんでした。

なぜでしょうか?

補足日時:2010/01/16 23:43
    • good
    • 0

#1追加


パラメータって意味では
%1 ~ %9で指定する方が普通だと思います


test.batとしてファイルの中身で
scho %1 %2 ・・ %9 などバッチファイルを作って

コマンドで
test 1 2 3 4 5 6 7 8 9  と打てば
%1から%9にそれぞれ代入されます
    • good
    • 0

環境変数がセットされていれば


%環境変数名%  とすることでバッチファイル内で扱うことは可能です
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!