set
Vbscript=Msgbox("你的系统即将崩溃,是否立即更新?",1,"系统管理员提醒")
for
/f "Delims=" %%a in ('MsHta VBScript
:Execute
("CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(%Vbscript:"=""%)"^)(Close^)') do Set "MsHtaReturnValue=%%a"
set ReturnValue1=确定
set ReturnValue2=取消或关闭窗口
echo 你点击了!ReturnValue%MsHtaReturnValue%!
if %MsHtaReturnValue% == 1 (
echo 你好世界!终于等到你。
) else (
echo 再见。
pause
bat本身不具备弹框提示能力,上面的脚本是借助VB脚本的弹框来实现取消和确认的。同理还可以弹出其他形式的框框(参考https://www.w3school.com.cn/vbscript/func_msgbox.asp 这里有Msgbox函数说明)。
转载于:https://www.cnblogs.com/xiongzaiqiren/p/11392842.html
需要在bat脚本里面弹出取消/确认框提示,可以用下面的案例:示例:@echo offsetlocal enabledelayedexpansionset Vbscript=Msgbox("你的系统即将崩溃,是否立即更新?",1,"系统管理员提醒")for /f "Delims=" %%a in ('MsHta VBScript:Execute("CreateO...
set Vbscript=Msgbox("是否
确认
继续?",1,"提示消息")
for /f "Delims=" %%a in ('MsHta VBScript:Execute("CreateObject(""Scripting.Filesystemobject"").GetStandardStream(1).Write(%Vbscript:"=""%)"^)(Close^)') do Set "MsHtaReturnValue=%%a"
set ReturnValue1=确定
set ReturnValue
@echo off #从本行开始关闭回显。一般批处理第一行都是这个
echo on #从下一行开始打开回显
echo #显示当前是 echo off 状态还是 echo on 状态
echo. #输出一个”回车换行”,空白行
#(同echo, echo; echo+ echo[ echo] echo/ echo)
2 errorlevel
echo %error
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
:::切换管
::多种提示框样式自己按需选择
mshta vbscript:msgbox("提示内容1",1,"提示
窗口
1")(window.close)
mshta vbscript:msgbox("提示内容2",2,"提示
窗口
2")(window.close)
mshta vbscript:msgbox("提示内容3",3,"提示
窗口
3")(window.close)
mshta vbscript:msgb