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返回。
自己手动实践下就明白了。