将值从vbscript传递到批处理

时间:2013-07-26 11:29:47

标签: batch-file vbscript

我有两个文件:batch.bat和vbscript.vbs。 .bat文件包含一个循环,我需要调用.vbs,并传递给它2个参数。 .vbs文件包含一个带有2个参数的函数(我传递给.vbs文件的参数)。我需要在.bat文件中访问.vbs返回的函数值 有人可以帮帮我吗?

我不是专家所以请原谅我糟糕的语法。我正在调用.bat文件。文件看起来应该是这样的

batch.bat:

loop start

' calling the vbs file

cscript vbscript.vbs arg1 arg2 ( here I suppose something has to be add to get val from vbs)

' using value returned by .vbs function

loop end 

vbscript.vbs:

function myfunction(arg1,arg2)
dim value

' do some calculation

myfunction= value
end function

dim value_to_return_to_batch
' now calling the function
value_to_return_to_batch=myfunction(arg1,arg2)
'
' here something has to be add to send value_to_return_to_batch  to batch
'

2 个答案:

答案 0 :(得分:5)

已更新

好的,所以你需要返回一个非整数。下面的代码适用于非整数和文本。

这是一个例子,你需要修改它以满足你的需要。

在VB脚本中,执行以下操作:

WScript.Echo 99.99999

在批处理文件中,执行以下操作:

FOR /F "usebackq tokens=*" %%r in (`CSCRIPT "MyVBS.vbs"`) DO SET RESULT=%%r
ECHO %RESULT%

答案 1 :(得分:-2)

如何使用环境变量作为批处理文件和vbscript文件参数传递之间的接口?