将值从 vbscript 传递到批处理文件无法正常工作

Passing value from vbscript to batch file is not working correctly

我编写了一个运行 vbscript 的批处理文件,然后从 vbscrit 收集值以进行进一步处理。

这是我的代码:

myBatch.bat

@ECHO OFF
setlocal EnableDelayedExpansion

REM ECHO ============= RUNNING BATCH =============
ECHO. 

for /F "delims=" %%a in ('CSCRIPT C:\myVBScript.vbs') do (
    ECHO RESULT: %%a
   )


REM ECHO ============= FINNISHED BATCH =============
ECHO. 

myVBScript.vbs

    Option Explicit
Dim values, splitStr


    'ask for value
    values=InputBox("Please provide a list separated by semicolon","Do stuff","item1;item2") 
    splitStr=Split(values,";")

    If UBound(splitStr) >= 1 Then
        WScript.Echo splitStr(0)
        WScript.Echo splitStr(1)
    End If

这是输出:

结果:Microsoft (R) Windows 脚本宿主版本 5.8

结果:版权所有 (C) Microsoft Corporation。保留所有权利。

结果:第 1 项

结果:第 2 项

前两行从何而来,如何避免?这很烦人,我不知道如何获取实际值(item1 和 item2)。

两条线

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

是解释器自动打印的横幅cscript.exe

使用nologo参数

cscript //nologo C:\myVBScript.vbs

避免脚本输出中出现横幅。

您还可以通过 运行 以下命令一次将 nologo 设置为您的用户的默认值:

cscript //nologo //s