Board logo

标题: [其他] [已解决]批处理调用VBS的MsgBox怎样实现三个选项? [打印本页]

作者: ny350101    时间: 2011-4-24 00:37     标题: [已解决]批处理调用VBS的MsgBox怎样实现三个选项?

本帖最后由 ny350101 于 2011-4-27 21:37 编辑
  1. @echo off
  2. >0.vbs echo WSH.Echo MsgBox("是否创建文件夹1?", VbYesNoCancel, "提示")
  3. for /f %%a in ('cscript 0.vbs //nologo //e:vbscript') do if %%a equ 6 (goto 1) else goto 1a
  4. :1
  5. md 1
  6. goto End
  7. :1a
  8. echo No
  9. goto End
  10. :End
  11. del 0.vbs
  12. >0.vbs echo WSH.Echo MsgBox("是否创建文件夹2?", VbYesNoCancel, "提示")
  13. for /f %%a in ('cscript 0.vbs //nologo //e:vbscript') do if %%a equ 6 (goto 2) else goto 2a
  14. :2
  15. md 2
  16. goto End
  17. :2a
  18. echo No
  19. goto End
  20. :End
  21. del 0.vbs
复制代码
这是网上的一段批处理,原批处理是“vbYesNo”,显示“是”和“否”两个选项。该段批处理已经完成。
我现在想把它修改成三个选项,增加了一项是“取消”。要求运行批处理时,点“是”,创建文件夹,点“否”,执行下段批处理,如果中途点“取消”则结束批处理。
作者: slore    时间: 2011-4-24 09:51

VbYesNoCancel不是3个按钮么?

返回值你多判下就好了。

6 是
7 否
2 取消
作者: ▄︻┻═┳一    时间: 2011-4-24 15:40

楼上就是传说中的 Slore 啊。。。在这里看见了,不错。。
作者: ny350101    时间: 2011-4-24 23:02

2# slore


真聪明
作者: wc726842270    时间: 2011-4-25 00:17

还是希望有时间的版主能将其移动到VBS专区吧,好久没看见VBS区发贴了,而且2L给的方法也非常的有效,能给学习VBS的带来一些认识.。在这里只能是石入大海。
作者: ny350101    时间: 2011-4-26 00:53

难到没人会吗?
作者: Batcher    时间: 2011-4-26 10:37

6# ny350101


你不是说2楼真聪明吗?你们两个人到底谁聪明?
作者: ny350101    时间: 2011-4-27 21:35

6# ny350101


你不是说2楼真聪明吗?你们两个人到底谁聪明?
Batcher 发表于 2011-4-26 10:37

我问的不是三个返回值是多少?而是根据返回值运行相关的批处理。通过一番折腾,自己得出了结论。
  1. @echo off
  2. >0.vbs echo WSH.Echo MsgBox("是否创建文件夹1?", VbYesNoCancel, "提示")
  3. for /f %%a in ('cscript 0.vbs //nologo') do (
  4. if %%a equ 6 goto 1
  5. if %%a equ 2 exit
  6. if %%a equ 7 goto 1a)
  7. :1
  8. md 1
  9. pause>nul&goto End
  10. :1a
  11. echo No
  12. pause>nul&goto End
  13. :End
  14. del 0.vbs
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2