最近在维护软件自动化测试框架的时候,遇到一个问题:在一个批处理脚本里面需要调用由vbs程序返回的值。经过反复的探索试验,最终解决了这一问题,现在把它分享给大家。
工具/原料
Windows命令处理程序cmd.exe
notepad++编辑器或者记事本
方法/步骤
1、新建一个Test文件夹,里面新建两个脚本程序文件(如图):1.vbs测试程序文件:GetFileName.vbs2.批处理测试文件:Test.bat
2、用notepad++或者记事本打开程序文件GetFileName.vbs,输入如下畲驶郜杏测试脚本并保存(如图):DimsFileNamesFileName="C:\Autom锾攒揉敫ation.txt"WSH.echosFileName如程序所示,这里通过WSH.echo的方式让程序的返回值为"C:\Automation.txt"。
3、用notepad++或者记事本打开程序文件Test.bat,输入如下测试脚本并保存钱砀渝测(如图):@echoofffo鸡堕樱陨r/f"delims="%%xin('cscript//nologoGetFileName.vbs')do(setsFileName=%%x)echo%sFileName%pause.如程序所示,通过集合的方式,让批处理获取vbs里面所有的输出内容,然后返回给一个变量,之后便可通过这个变量读取到vbs的返回值。
4、回到文件夹Test,选择Test.bat文件并单击右键菜单以管理员用户运行,如图:
5、批处理文件执行成功,命令行输出结果将会如图所示,正确的打印出vbs程序中返回的值。