批处理结合VBS命令。求判断返回值的命令!
我有一个小程序,是批处理做的文件分类。我想在批处理中加上start""/waitmshtavbscript:msgbox("是否需要分类可执行程序",4096+64+4,...
我有一个小程序,是批处理做的文件分类。
我想在批处理中加上
start "" /wait mshta vbscript:msgbox("是否需要分类可执行程序",4096+64+4,"对话框标题")(window.close)
这句话来用窗口提示,是或者否。很成功。
但是 怎么样才能怎么才能判断 此句中 是或者否的返回值呢?
用for命令 还是IF命令? 展开
我想在批处理中加上
start "" /wait mshta vbscript:msgbox("是否需要分类可执行程序",4096+64+4,"对话框标题")(window.close)
这句话来用窗口提示,是或者否。很成功。
但是 怎么样才能怎么才能判断 此句中 是或者否的返回值呢?
用for命令 还是IF命令? 展开
展开全部
@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的退出码。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |