bat弹出确认或取消窗口
需要在bat脚本里面弹出取消/确认框提示,可以用下面的案例:
示例:
@echo off setlocal enabledelayedexpansion 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函数说明)。
2025-03-28 14:00:47【出处】:https://www.cnblogs.com/xiongzaiqiren/p/11392842.html
=======================================================================================
bat文件设置自动关机以及弹框确认
理论上,.bat文件不太好处理一些弹框需求,但是网友是万能的,借助VB脚本的弹框来解决。详情代码:
@echo off setlocal enabledelayedexpansion 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 关机啦!!! shutdown -s -t 300 ) else ( echo 取消成功!!! ) pause
这个脚本可以在点击之后触发弹框,点击确定会执行300S延迟后关机。


选择任务计划程序,然后选择左上角《操作》,点击《创建基本任务》,然后按照要求填写。完美。。
2025-03-28 14:01:40【出处】:https://blog.csdn.net/zhanglu_1024/article/details/103436945
=======================================================================================
在cmd命令行中弹出Windows对话框
我用的是第4种方法
有时候用bat写一些小脚本最后会弹出对话框提示操作成功,可以用mshta.exe来实现,它是Windows系统的相关程序,用来执行.HTA文件,一般计算机上面都有这个程序,实现如下:
第1种方法
mshta vbscript:msgbox("我是提示内容",64,"我是提示标题")(window.close)
弹出对话框如下图:

如果没有mshta这个程序的话,那么就临时产生一个vbs脚本来实现,完了再删除这个脚本就行了,命令如下:
第2种方法
echo msgbox "我是提示内容",64,"我是提示标题">alert.vbs && start alert.vbs && ping -n 2 127.1>nul && del alert.vbs
这样的话效果和上面是相同的
第3种方法
也可以把下面的脚本 写成一个bat文件 最后一行 pause 应该不要吧
@echo off
msg %username% /time:10 "你想输入的话(注意空格)"
pause
::上行数字10为你想让对话框停留的时间(多少秒后关闭)
第4种方法
下面的内容保存为一个文本 也可以 5秒后关闭,我就是用的这个方法
echo CreateObject("wscript.shell").popup "5秒钟关闭", 5, "提示" , 64 >alert.vbs && start alert.vbs && ping -n 2 127.1>nul && del alert.vbs
或者 去掉 64 也可以
echo CreateObject("wscript.shell").popup "5秒钟关闭", 5, "提示" >alert.vbs && start alert.vbs && ping -n 2 127.1>nul && del alert.vbs
因为 64 表示显示通知消息提示框

参考: http://www.cnblogs.com/freeweb/p/5048833.html
出处:http://shipingzhong.cn/node-admin/13162
===========
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。(●'◡'●)
因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/18797915
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!

浙公网安备 33010602011771号