Board logo

标题: [其他] 【已解决】批处理弹出输入对话框中的消息内容怎么换行? [打印本页]

作者: xiaolijian916    时间: 2015-11-13 10:08     标题: 【已解决】批处理弹出输入对话框中的消息内容怎么换行?

本帖最后由 pcl_test 于 2016-8-14 20:47 编辑

如附件所示:
     这是我想实现的效果,图片中采用“换行”方式是敲空格内容超过一行自动挤到下一行了,看起来像是换行的样式;
     我试了一下,each.或者\r\n都不是我要的结果,set "message=注意:\r\n选择数据库命令请输入[imp]/[exp];\r\n.....";
     我的意思是将一行字符换分成多行显示,因为弹出输入框message属性只能写一行,:
   
    我是新手不好意思哈,这是弹出框开始部分的代码:
  1. ::这里设置是否隐藏bat窗口,将"set hideform=False"改成"set hideform=True"即可.(False可以打印输入的内容到控制台)
  2. set hideform=False
  3. ::对话框中要显示的内容
  4. set "title=输入内容"
  5. ::对话框的提示信息
  6. set "name=注意:                                                                                           1.数据库导入导出请输入[imp]或[exp]命令                                                        2.连接手机文件管理器请输入[IP]地址"
  7. set "message=%name%"
  8. ::输入框中的内容(文本框默认服务器地址)
  9. set "note=192.16.137.2"
复制代码
有哪位大神支支招,小弟感激不尽,不一定非要用vbs,只要能弹出框输入内容,提示内容可以换行就可以了。
作者: pcl_test    时间: 2015-11-13 18:05

  1. @echo off
  2. set "title=输入内容"
  3. set "prompt=注意:""&chr(13)&""1.数据库导入导出请输入[imp]或[exp]命令""&chr(13)&""2.连接手机文件管理器请输入[IP]地址"
  4. for /f "delims=" %%a in ('mshta VBScript:Execute("CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(inputbox(""%prompt%"",""%title%""))"^)(close^)') do echo;%%a
  5. pause
复制代码

作者: xiaolijian916    时间: 2015-11-14 23:43

回复 2# pcl_test


    能不能稍微改进一下,把这个弹出框做成一个调用文件,需要的时候调用再弹出,并将输入的值返回。
作者: xiaolijian916    时间: 2015-11-14 23:55

回复  pcl_test


    能不能稍微改进一下,把这个弹出框做成一个调用文件,需要的时候调用再弹出,并将 ...
xiaolijian916 发表于 2015-11-14 23:43


附件是我拼凑的代码。。
作者: pcl_test    时间: 2015-11-15 09:02

回复 3# xiaolijian916


   难道2楼的代码不是这样吗?
作者: xiaolijian916    时间: 2015-11-15 20:37

回复 5# pcl_test


    效果跟4楼附件的那样,生成临时调用文件,call 函数调用文件。
作者: 逍遥锋    时间: 2016-12-25 16:06

回复 2# pcl_test


    老大,请给一个只有换行提示框的代码,不要输入框,万分感谢
作者: 逍遥锋    时间: 2016-12-25 16:08

回复 2# pcl_test


    老大,能给一个BAT弹出提示框,里面的内容分行显示的代码吗?万分感谢!
作者: pcl_test    时间: 2016-12-25 17:02

回复 8# 逍遥锋
  1. mshta vbscript:msgbox("第一行"^&vbCrLf^&"第二行"^&vbCrLf^&"第三行")(close)
  2. pause
复制代码
  1. powershell -sta "[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms');[Windows.Forms.MessageBox]::show(\"第一行`r`n第二行`r`n第三行\")"
  2. pause
复制代码
  1. powershell "(New-Object -ComObject Wscript.Shell).Popup(\"第一行`r`n第二行`r`n第三行\",0,\"\")"
  2. pause
复制代码

作者: citygun    时间: 2018-6-28 23:47

回复 2# pcl_test 大大,我最近也在烦恼这个问题,看了你的例子茅塞顿开,根据这个示例怎么提取输入后的值大大能否给个示范。
作者: citygun    时间: 2018-6-28 23:47

pcl_test 发表于 2015-11-13 18:05




    pcl_test 大大,我最近也在烦恼这个问题,看了你的例子茅塞顿开,根据这个示例怎么提取输入后的值大大能否给个示范。




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