最近在维护软件自动化测试框架的时候,遇到一个问题:在一个批处理脚本里面需要调用由vbs程序返回的值。经过反复的探索试验,最终解决了这一问题,现在把它分享给大家。
方法/步骤
-
1
新建一个Test文件夹,里面新建两个脚本程序文件(如图):
1. vbs测试程序文件:GetFileName.vbs
2. 批处理测试文件:Test.bat
-
2
用notepad++或者记事本打开程序文件GetFileName.vbs,输入如下测试脚本并保存(如图):
Dim sFileName
sFileName = "C:\Automation.txt"
WSH.echo sFileName
如程序所示,这里通过 WSH.echo 的方式让程序的返回值为"C:\Automation.txt"。
-
3
用notepad++或者记事本打开程序文件Test.bat,输入如下测试脚本并保存(如图):
@echo off
for /f "delims=" %%x in ('cscript //nologo GetFileName.vbs') do (
set sFileName=%%x
)
echo %sFileName%
pause.
如程序所示,通过集合的方式,让批处理获取vbs里面所有的输出内容,然后返回给一个变量,之后便可通过这个变量读取到vbs的返回值。
-
4
回到文件夹Test,选择Test.bat文件并单击右键菜单以管理员用户运行,如图:
-
5
批处理文件执行成功,命令行输出结果将会如图所示,正确的打印出vbs程序中返回的值。
END
文章评论