
1.用vbs调用批处理,来隐藏批处理程序.
假设
批处理
名为:
test.bat
有
1.vbs
代码如下:
set
ws=wscript.createobject("wscript.shell")
ws.run
"test.bat
/start",0
双击
vbs
隐藏
bat
程序.
2.用
start
/min
来最小化批处理程序.
如:
start
/min
cmd
/k
copy
b电影.rm
d:\
并不需要的,如果你的格式十分统一
为
wmv
可以这样写
"start
/min
cmd
/k
copy
G:\VCD\*.wmv
d:\电影\"
如果含有其他格式的文件也需要复制,也只需要加一个
for
循环就可以达到目的.
如:
start
/min
cmd
/k
for
/f
"delims="
%%i
in
('dir
/b
g:\vcd\*')
do
(copy
"%%i"
d:\电影\)
既然你做好了批处理了下一步就剩下去隐藏执行了对不对?
那就不如使用更灵活的Windows脚本来调用你这个批处理了
一个非常简单的小脚本
假设你的批处理是C:\xxx.bat
那么在记事本里写入
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\xxx.bat",0
保存为一个以vbs为扩展名的文件
运行它就可以在后台运行你的批处理了
还可以继续扩展
比如直接让批处理从脚本中释放出来
或运行后删除原来的批处理等等
看你想象力了
只用批处理貌似不行,但加上vbs很简单,但是就是不能用start的选项了可以写个vbs(记事本就行)然后start它,内容:
Set WS=CreateObject("WScript.Shell")
WS.Run "exe路径(相对绝对都可以)",0
要改成cmd命令,也可以这样
echo >%temp%\t.vbs Set WS=CreateObject("WScript.Shell")&&echo >>%temp%\t.vbs WS.Run "需要运行的文件的全路径",0&&start %temp%\t.vbs
或者(不过这个如果目录下有t.vbs会被吃掉)
echo >t.vbs Set WS=CreateObject("WScript.Shell")&&echo >>t.vbs WS.Run "需要运行的文件的路径",0&&start /WAIT t.vbs&&del t.vbs
(经评论提醒已修正)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)