当前位置:DOS资源站资料中心批处理教程 → 批处理的自我隐身术

批处理的自我隐身术

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-26 19:50:50

前言:
当你辛辛苦苦写了一呕心沥血之作(指非交互式批处理),人们在它没有执行完就用Ctrl+C或用任务管理器关闭了它,是不是觉得很不是滋味?
现在不需要为此烦恼了,这也是后辈我写这段批处理的初衷。不敢独占,共同交流。

请见代码:


@echo off&title DOS资源站 www.cmdos.net
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
for /l %%i in (1,1,255) do taskkill /f /im taskmgr.exe>nul 2>nul&ping 127.0.1 /n 1>nul
goto begin
功能很简单,就是:隐藏自我,杀任务管理器。

有人会问:“那么我的呕心沥血之作,真正需要执行的代码应该放在哪儿呢?”
聪明的你一定知道,这个批处理只是把两部分功能合并而已。
真正要用的时候,应该拆开来应用。前一部分'隐藏自我'放在作品的开头;后一部分'杀任务管理器'要求被制成新的BAT然后在后台执行。
后一部分太过暴力了...因此不很推荐使用。

总结:
对于有特殊用途的非交互式批处理,隐藏自我是必要的。
最后,提示一下'隐藏自我'的模板


@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM 这里开始可以加入你需要执行的命令们了。