[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[特效代码] 批处理如何实现弹出类似vbs的inputbox输入对话框并把输入内容赋值给变量

本帖最后由 pcl_test 于 2016-11-22 23:41 编辑

bat 从msgbox中获取变量值
朋友们,请教:

在运行bat的时候,弹出一个windows文本框。通过这个文本框,输入内容,作为一个变量的值,怎么实现呢?

回复 1# 92kp


test-1.bat
  1. @echo off
  2. for /f "delims=" %%i in ('powershell "Add-Type -AssemblyName Microsoft.VisualBasic; [Microsoft.VisualBasic.Interaction]::InputBox('What is your name:')"') do (
  3.     set "MyInput=%%i"
  4. )
  5. echo,%MyInput%
  6. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

用这个试试,我大号(1152)制作的
对了,希望Batcher能原谅我
链接:https://pan.baidu.com/s/1tRYcI9f7oQzxggVTjDnOUQ
提取码:5ove

TOP

回复 15楼 的帖子

这个跟水平高低没有关系吧?总不能连自己想问什么问题都搞不清楚吧?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

不是我不想,而是我水平有限,呵呵呵。

不过非常感谢各位帮助。

TOP

你问题的标题写的是MsgBox,怎么搞的
  1. @echo off
  2. >0.vbs echo WSH.Echo InputBox("Please input?", "Get Value", "OK")
  3. for /f %%a in ('cscript 0.vbs //nologo //e:vbscript') do set "s=%%a"
  4. echo.%s%
  5. del 0.vbs
  6. pause>nul
复制代码

TOP

回复 12楼 的帖子

你在顶楼提问的时候,如果能够一次性把问题描述清楚,那会非常节省 rat 版主的时间,你的问题也能得到及时的解决,何乐而不为呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

不好意思。我是想用INPUTBOX 用键盘为一个变量输入一个值。

版主的只能选择YES OR NO

而我想要的时候,输入字符,作为变量的值

TOP

靠,rat版主,你真好,太好了,太好了。

TOP

我说直接点。我就是想在BAT运行的过程中能弹出一个相当于windows中的input文本框,好让我输入一些字符作为,程序下面的某个变量的值。

不要告诉用SET /P VAR =

这个我会用。

主要我的程序是隐藏运行的。

TOP

增强灵活性的话,最好写临时文件:
  1. @echo off
  2. >0.vbs echo WSH.Echo MsgBox("Are you sure to exit?", vbYesNo, "EXIT")
  3. for /f %%a in ('cscript 0.vbs //nologo //e:vbscript') do if %%a equ 6 (goto Y) else goto N
  4. :Y
  5. echo Yes
  6. goto End
  7. :N
  8. echo No
  9. goto End
  10. :End
  11. del 0.vbs
  12. pause>nul
复制代码
关于为什么选择“确定”显示6,而选择“取消”显示7,你可以在下面这个教程里的下载链接里找到
Microsoft Windows脚本技术.chm
然后打开它,搜索Msgbox:
http://bbs.bathome.net/thread-2382-1-1.html

TOP

上面这个代码为什么选择“确定”显示6,而选择“取消”显示7呢

TOP

十分感谢,很好。我顺便问下,怎么增强它的灵活性呢。比如选择YES以后执行的代码放在什么地方,选择NO的代码应该放在什么地方。

TOP

那能请大虾们把MSG用法说说吗?

TOP

  1. ' & @cls & for /f %%a in ('cscript "%~f0" //nologo //e:vbscript') do @echo %%a & pause>nul & exit /b
  2. WSH.Echo MsgBox("Are you sure to exit?", vbYesNo, "EXIT")
复制代码

[ 本帖最后由 rat 于 2008-11-2 13:22 编辑 ]
1

评分人数

TOP

返回列表