将值从 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
我编写了一个运行 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