批处理和inputbox函数交互时实现换行,^&vbcrlf^&

::使用:+字符串实现标识作用,常见goto使用到标识
set "vbs=%Temp%\GotUserInputedDataProgram.vbs"
set "data=%Temp%\UserInputedData.tmp"
::====================================
::=========开始预置对话框=============
::====================================
::查找文件是否存在,存在就删除
if exist "%vbs%" del /s /q /f "%vbs%">nul
::delete file
echo On Error Resume Next>>"%vbs%"
echo Dim fso,wri,data,file>>"%vbs%"
::创建一个进行交互的窗口
echo Set fso=Wscript.CreateObject^("Scripting.FileSystemObject"^)>>"%vbs%"
echo file="%data%">>"%vbs%"
echo if fso.FileExists^(file^) Then fso.DeleteFile^(file^)>>"%vbs%"
echo Set wri=fso.CreateTextFile^(file,True^)>>"%vbs%"
::窗口输入的字符串保存在data中
::批处理中和InputBox使用时要实现换行需要按如下格式写:变量+^&vbcrlf^&+变量,^是bat转义符号,&是vbs中的连接符(此处必须使用^对&进行转义原样输入inputbox函数中)
echo data=InputBox^("%message%"^&vbcrlf^&"用户名:!user!"^&vbcrlf^&"密&码:!password!"^&vbcrlf^&"库&名:!database!","%title%","%note%"^)>>"%vbs%"
echo wri.Write data>>"%vbs%"
echo wri.Close>>"%vbs%"
echo Set fso=Nothing>>"%vbs%"
echo Set op=Nothing>>"%vbs%"
echo fso.DeleteFile^(Wscript.ScriptFullName^)>>"%vbs%"
echo Wscript.Quit>>"%vbs%"
::===============================================================================
::调用执行一个vb程序,就是上面创建的窗口
call "%vbs%"
::获取data中的内容,利用循环获取
for /f "delims=" %%i in (%data%) do set "content=%%i"
if exist "%vbs%" del /s /q /f "%data%">nul
if exist "%vbs%" del /s /q /f "%vbs%">nul
::如果输入内容为空就停止

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值