转自:http://itindex.net/detail/38012-bat-%E6%B5%8F%E8%A7%88%E5%99%A8-%E7%A8%8B%E5%BA%8Fjavascript
在电脑启动时或者设置时间时运行指定的程序很容易实现。可是有时候还须要运行时不显示主界面,隐藏到后台运行。好比:开机时一段Bat批处理执行删除默认共享; 开机自动运行浏览器隐藏到后代打开指定网页等,但愿全部的操做对用户都是不可见的。若是你也有这样的需求,这里我收集了几个让批处理、浏览器等程序隐藏到运行的方法或许能够帮到你。java
代码:CreateObject("WScript.Shell").Run "cmd /c D:test.bat",0
把以上代码复制到文本文件中,保存为.vbs文件(好比 HideRun.vbs),其中 D:test.bat 为你要运行的批处理文件,下同。浏览器
代码: 安全
echo CreateObject("WScript.Shell").Run "cmd /c D:test.bat",0>$tmp.vbs cscript.exe /e:vbscript $tmp.vbs del $tmp.vbs
或者: 服务器
mshta vbscript:CreateObject("WScript.Shell").Run("iexplore http://luckerme.com",0)(window.close)
以上代码选一个复制到文本文件中,修改自定义的内容保存为.bat文件(好比 HideRun.bat)。网络
代码: ide
new ActiveXObject('WScript.Shell').Run('cmd /c D:Test.bat',0);
把以上代码复制到文本文件中,保存为.js文件(好比 HideRun.js)。Javascript的字符串变量能够用单引号,从而方便命令行做为参数调用,并且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法必须用括号,结尾必须有分号。因此写成命令行就是: 测试
mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /c D:test.bat',0);window.close()"
代码: .net
runassrv add /cmdline:"C:WindowsSystem32cmd.exe /c D:test.bat" /name:"myservicesname" net start myservicesname
能够用sc创建一个系统服务而后启动这个服务来启动批处理。缺点是启动服务较慢,须要管理员权限。命令行
代码:
at 09:00 "cmd /c D:Test.bat"
用at能够创建一个计划任务,在不输入 /interactive 参数能够后台运行。使用at必须有管理员权限。而后在系统就会自动后台以SYSTEM权限运行这个bat。
今天搜索时找到了一款名为HOU任务计划(OnTimer.exe)的定时/循环执行任务的绿色小软件。软件虽小,功能很大。能够用来定时执行程序、DOS命令、从HTTP服务器下载程序运行、结束进程、模拟按键、发送EMAIL、网络唤醒、消息提示、关机、重启、注销、锁定、待机等操做。其中普通运行、参数运行、 执行DOS “备注”开头为“-h”则隐藏执行,便可知足咱们的需求。相信的介绍及下载能够到软件的官方页面: http://www.yryz.net/soft-OnTimer.htm
上边五种方法简单方便,都是系统的功能,无需额外的软件。可是,本身建立的bat,vbs文件可能会被杀毒软件误报误删,全部设置好后最好手动加入到杀毒软件的信任列表。目前我使用的是最后一种方法,借助OnTimer.exe这个小软件,配置方便。并且,加入启动项后,360检查开机项目时不会提示禁止,在系统检查修复界面也不会检测到非安全项。其余杀软未测试。你能够都测试下,采用适合的方法实现隐藏运行程序的功能。