cmd/bat 调用vbs计算示例,传入参数并返回值

1.bat一个批处理

set pass=123456

cscript //nologo md5.vbs "%pass%"

这是一个简单的示例,这里只调用并打印结果在屏幕

关于vbs的脚本,来自

https://github.com/Wikinaut/md5.vbs

接下来关键的是怎么获取%pass%就是给的123456值

带入vbs计算md5值?

在md5.vbs脚本尾部,添加如下代码

if Len(WScript.Arguments(0)) then
WScript.Echo MD5(WScript.Arguments(0))
'Wscript.quit 0
end if

'这是上面cmd给的参数123456
WScript.Arguments(0)) '其中0表示第一个参数,第N个1,2,3……
'根据参数算出md5值,并使用echo打印在黑窗
WScript.Echo MD5(WScript.Arguments(0))

多个传入参数时,也可以使用遍历

Set Args = WScript.Arguments
For n= 0 to Args.Count - 1
  WScript.Echo Args(n)
Next

传入参数和显示的学会了,接下来,怎么把这个值赋值回bat中的变量?

使用下面的句子

for /f "delims=" %%a in ('cscript //nologo md5.vbs "%pword%"') do (
set passmd5=%%a)
echo %passmd5%

其中passmd5就是变量,他的值由%%a返回。

自己手动实践下就明白了。

点赞