Pass variable from Batch to VBS

前端 未结 3 1327
甜味超标
甜味超标 2020-12-21 11:24

Hi I am trying to pass a user input variable from a BAT to VBS script

Im sure this can be done in VBS but the user \"Filename\" input is used also later in the BAT f

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-21 12:10

    I wouldn't recommend passing information from one script to another via environment variables. I suppose you're running the VBScript from the batch script? In that case you could simply pass the filename as an argument to the VBScript:

    set /p "FileName= Enter Filename Including Extention (e.g. test.xlsx): "
    cscript.exe //NoLogo C:\path\to\your.vbs "%FileName%"
    

    In the VBScript you process the argument like this:

    filename = WScript.Arguments.Unnamed(0)
    

    You could also use a name argument:

    set /p "FileName= Enter Filename Including Extention (e.g. test.xlsx): "
    cscript.exe //NoLogo C:\path\to\your.vbs /filename:"%FileName%"
    

    with the argument evaluation in your VBScript looking like this:

    filename = WScript.Arguments.Named("filename")
    

提交回复
热议问题