You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在批处理脚本中自动关闭Windows Script Host确认弹窗

如何在批处理脚本中自动关闭Windows Script Host确认弹窗

嘿,我太懂你这种反复被弹窗打断的烦躁了!既然你已经有了slmgr /ato的激活脚本,想要彻底去掉那个需要手动点击的确认弹窗,这里有几个超简单的办法,完全不用复杂编码,直接照着改就能用:

方法1:用VBScript实现静默激活(最推荐)

这个方法最省心,连弹窗的影子都看不到:

  1. 右键桌面空白处,新建一个文本文档
  2. 把下面的代码复制进去:
    Set objShell = CreateObject("WScript.Shell")
    objShell.Run "slmgr /ato", 0, True
    
  3. 点击文件→另存为,文件名改成SilentActivate.vbs,保存类型选「所有文件」,然后保存
  4. 把这个VBS文件钉到你的任务栏,以后点击它就会自动静默激活Windows,完全没有弹窗打扰

解释一下:代码里的0参数就是让命令在后台静默运行,不会弹出任何窗口或提示框,完美解决你的问题。

方法2:把静默逻辑嵌入批处理文件

如果你还是想用bat文件,也可以把VBS的静默逻辑整合进去,这样还是一个批处理脚本:

@echo off
:: 临时生成VBS脚本
echo Set objShell = CreateObject("WScript.Shell") > "%temp%\silent_activate.vbs"
echo objShell.Run "slmgr /ato", 0, True >> "%temp%\silent_activate.vbs"
:: 静默运行VBS脚本
cscript //nologo "%temp%\silent_activate.vbs"
:: 删除临时文件
del "%temp%\silent_activate.vbs"

把这段代码替换你原来的slmgr /ato批处理,运行时就不会有弹窗了——它会临时生成一个VBS文件执行激活,做完就自动删掉,全程后台完成。

顺带提一句,虽然你说已经试过所有根源排查方法,但如果之后想再试试的话,可以检查一下有没有硬件变动(比如主板更换会导致零售License失活),或者Windows激活服务(slsvc)有没有异常,但现阶段先解决弹窗的麻烦才是重点~

备注:内容来源于stack exchange,提问作者tbmmbt

火山引擎 最新活动