2个回答
展开全部
@echo off
if "%1" == "yes" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 yes",0)(window.close)&&exit
:begin
::从这里开始运行批处理命令,不会有窗口提示
::工作原理运用vbs的后台运行脚本wscript.shell运行批处理
if "%1" == "yes" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 yes",0)(window.close)&&exit
:begin
::从这里开始运行批处理命令,不会有窗口提示
::工作原理运用vbs的后台运行脚本wscript.shell运行批处理
追问
它是要用bat结尾还是vbs的 ??
追答
lz,是这样的 。
vbs后台运行的代码
createobject("wscript.shell").run("文件名")
相当于新建了一个临时的vbs
mshta vbscript: vbs代码(window.close)
除此外 mshta可以调用很多类型的代码,java等,但一般都用不到
这是一个java脚本弹出光驱的代码
new ActiveXObject('WMPlayer.OCX').cdromCollection.Item(0).Eject();
mshta "javascript:new ActiveXObject('WMPlayer.OCX').cdromCollection.Item(0).Eject();window.close();"
系统不一定都有jdk
所以mshta临时调用其他代码,跟最后的怎样结束无关系,因为只调用了一次vbs结束后这种代码就不运行了。最后的当然是回归批处理操作平台。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询