通过vbs脚本实现批处理后台运行

 

使用Windows脚本来调批处理

 

一个非常简单的小脚本

假设你的批处理是C:\xxx.bat

那么在记事本里写入

 

set ws=WScript.CreateObject("WScript.Shell")

ws.Run "C:\xxx.bat",0

 

保存为一个以vbs为扩展名的文件

运行它就可以在后台运行你的批处理了,BAT批处理文件的后台运行不弹出窗口 

 

 

批处理隐藏运行的10种思路

 

1.基础

 

HideRun.vbs

--------------------------------------------------------------------------------

CreateObject("WScript.Shell").Run "cmd /cD:\test.bat",0

其中D:\test.bat是你的批处理路径

 

 

HideRun.bat

--------------------------------------------------------------------------------

echo CreateObject("WScript.Shell").Run "cmd /cD:\test.bat",0>$tmp.vbs

cscript.exe /e:vbscript $tmp.vbs

del $tmp.vbs

这个批处理其实不能使其批处理本身隐藏,但是下面大部分隐藏调用批处理的原理和基础。

 

 

HideRun.js

--------------------------------------------------------------------------------

new ActiveXObject('WScript.Shell').Run('cmd /cD:\Test.bat',0);

Javascript有什么好处呢?js的字符串变量可以用单引号,从而方便命令行作为参数调用,而且js很好的支持多行语句用 ; 分隔写成一行。要注意的是:js要区分大小写,方法必须用括号,结尾必须有分号。所以就成了下面的命令:

--------------------------------------------------------------------------------

mshta "javascript:new ActiveXObject('WScript.Shell').Run('cmd /cD:\test.bat',0);window.close()"

 

2.用快捷方式

 

如果要使一个批处理本身隐藏,可以参考附件里的一个快捷方式,修改附件中的相关路径即可隐藏启动你的批处理。可以用vbs来建立一个 .lnk,其实用批处理也行(先echo一个vbs出来)

 

3.利用系统服务

 

可以用sc建立一个系统服务然后启动这个服务来启动批处理。缺点是启动服务较慢,需要管理员权限

查考这个帖子,

http://www.cn-dos.net/forum/view ... =%E6%9C%8D%E5%8A%A1

asbai 兄的大作,极大的方便了我们的使用。

CODE:   [Copy to clipboard]

--------------------------------------------------------------------------------

 

runassrv add /cmdline:"C:\Windows\System32\cmd.exe /cD:\test.bat" /name:"mysrv"

net start mysrv

4.利用

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值