10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

.bat→.vbsへ変数を渡し実行する

Last updated at Posted at 2023-02-21

はじめに

.bat→.vbsに変数を渡し実行したかったのでやり方をまとめました。

コード

使用したコードは下記です。

① 変数をvbsファイルに渡して実行
 batファイルからvbsファイルに変数を渡すにはcscriptコマンドを使用します。
 複数の変数を送る場合は末尾に追加します。

SendVarToVBS
    REM 変数取得
    Set variable1=%CD%

    REM vbs実行
    cscript hogehoge.vbs %variable1%

    REM 複数の場合
    cscript hogehoge.vbs %variable1% %variable2%

② 変数を受け取り、処理実行
 vbsファイルで変数を受け取るにはWScriptオブジェクトのArgumentsプロパティを使用します。
 送られてきた変数の参照は、オブジェクト変数にインデックス番号を指定して参照します。
 インデックスは0からなので、変数を1つ送った場合はWScript.Arguments(0)が一つ目の変数値です。

 送られてきた変数の数はWScript.Arguments.Countで確認できるので
 変数の数が0だったらエラーにする、そうでなければ変数値をメッセージボックスで表示するというプログラムにしています。

vbsRun
    ' 変数宣言
    Dim arg
    Set arg=WScript.Arguments
    
    ' 変数存在CHK
    If arg.Count = 0 then
    	Msgbox "引数がありません"
    	WScript.Quit
    Else 
        msgbox "送られてきた変数値は" & arg(0) & "です"
    End If

終わりに

変数を渡すのも受け取るのもそんなに難しくなく対応できました。
参考になれば幸いです。

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?