批处理结合VBS命令。求判断返回值的命令!

我有一个小程序,是批处理做的文件分类。我想在批处理中加上start""/waitmshtavbscript:msgbox("是否需要分类可执行程序",4096+64+4,... 我有一个小程序,是批处理做的文件分类。
我想在批处理中加上
start "" /wait mshta vbscript:msgbox("是否需要分类可执行程序",4096+64+4,"对话框标题")(window.close)
这句话来用窗口提示,是或者否。很成功。
但是 怎么样才能怎么才能判断 此句中 是或者否的返回值呢?
用for命令 还是IF命令?
展开
 我来答
nefu_20061617
2015-03-24 · TA获得超过2342个赞
知道大有可为答主
回答量:1064
采纳率:72%
帮助的人:1485万
展开全部
@echo off
setlocal enabledelayedexpansion
set ms=mshta vbscript:CreateObject("Scripting.FileSystemObject").GetStandardStream(1).Write(msgbox("是否需要分类可执行程序",4096+64+4,"对话框标题"))(window.close)
for /f %%i in ('!ms!') do (
  if "%%i"=="6" echo 选择了“是”
  if "%%i"=="7" echo 选择了“否”
)
pause

 另一种方法,用临时vbs文件:

@echo off
>"%tmp%\a.vbs" echo wsh.quit(msgbox("是否需要分类可执行程序",4096+64+4,"对话框标题"))
"%tmp%\a.vbs"
if %errorlevel%==6 echo 选择了“是”
if %errorlevel%==7 echo 选择了“否”
del "%tmp%\a.vbs"
pause
追问
你的代码很好用,但是errorlevel 这个变量是怎么来的?  
最佳30分后给你采纳。
追答
errorlevel获取前一个命令的退出码,vbs中quit方法的参数是自定义退出码。
执行vbs后,errorlevel获取的就是vbs的退出码。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式