其实批处理利用mshta调用vbs的方法大家都知道,但多用于隐藏运行批处理。同时如果我们要调用vbs进行计算,并返回计算结果给批处理时,一般要用到临时文件,而且还要创建文本操作对象写文本,使得mshta中的代码多了一长串,一不注意就会出错。。。
实际上我们可以在隐藏运行批处理的方法中得到启示,利用这个传回的参数来传递计算结果,示例代码如下:- @echo off
- ::调用vbs计算字符串长度
- set "str=abcdefa"
- if "%1" neq "" goto next
- mshta vbscript:createobject("wscript.shell").run("%~fs0 "^&len("%str%"),1,0)(window.close)
- goto :eof
- :next
- echo str字符串的长度为%1
- pause>nul
复制代码
|