定时杀死进程,批处理窗口隐藏不可见。功能:运行f.bat,批处理窗口隐藏,并定时查杀某个进程,比如穿越火线游戏:crossfire.exe
上面的批处理运行后,终止方法是,打开任务管理器->进程->cmd.exe choice.exe,结束这2个进程即可。
f.bat内容如下:
@echo off
REM 下面两句是隐藏批处理窗口,具体原理是创建了一个vbs脚本来达到目的的。vbs脚本用法不在本文讨论范围内。
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
echo
at 2:00 /every:M,T,W,Th,F,S,Su cmd /c "d:/Auto backup/autobackup.bat"
REM 【如果有必要,可以复制到开机启动项里面。把下面两行去掉rem即可】
rem copy %0 "C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\"
rem copy %0 "C:\Users\lm\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
:loop
choice /t 600 /d y /n 1>nul 2>nul 【choice命令可以进行定时,/t 600表示600秒。】
taskkill /t /f /im client.exe 1>nul 2>nul 【杀死腾讯游戏主进程 】
taskkill /t /f /im crossfire.exe 1>nul 2>nul 【杀死穿越火线进程 】
goto loop 【继续循环每隔10分钟循环一次】
下面是隐藏批处理运行窗口的2种方法(网上搜集):请注意这2种方法还是有区别的。
@echo off
rem 下面这2中方法,有所区别,其中第一个是不能被其他程序调用的,否则会出现错误:vbs脚本安装错误无法运行。
rem 第二种方法可以被其他程序调用,不会出现错误。
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
mshta "javascript:new ActiveXObject('wscript.shell').run('%~nx0 h',0);window.close();"&&exit
:begin
echo no hidden
后记: 事实上,上面两种窗口都会出现vbs脚本安装错误,可以使用另外一种方法执行,请参考博客《
使用wscript.exe实现kill某个进程,用户无任何感知,不会弹出任何命令的执行窗口》