无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3952|回复: 12
打印 上一主题 下一主题

谁能帮我做一个批处理,具体内容进来看

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-20 22:35:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人才疏学浅,希望各位大侠帮忙。
用一个批处理命令监视某个程序是否运行,如运行了则运行另外一个程序
还有一个是用批处理命令监视一个程序是否停止,如果停止了则运行另外一个程序
2#
发表于 2010-3-21 08:01:21 | 只看该作者
用 tasklist / for /find 配合 goto 实现。
回复

使用道具 举报

3#
 楼主| 发表于 2010-3-21 16:31:58 | 只看该作者
你还是售我点鱼吧,我真不懂。
回复

使用道具 举报

4#
发表于 2010-3-22 11:34:33 | 只看该作者
声明在前:这两个脚本有恶意循环 和 病毒 特点,如果用于不正当途径,后果自负。
这里只用来研究。


监测 系统是否运行 notepad 如果运行了,就启动explorer.exe然后退出脚本。
cmd 脚本内容:
-------------------------------
@echo off
color 0a
title 进程检测
set task1=notepad
set task2="explorer.exe"
set t=10
set n=0
:loop
set /a n=%n%+1
echo 正在检测%task1%是否运行,如果运行就启动%task2%,每%t%秒钟检测一次.%n%
tasklist|find /i "%task1%"
if not errorlevel 1 goto end
ping -n %t% 127.0.0.1 >nul 2>nul
echo %task1% 没有运行
goto loop
:end
echo %task1% 已经运行,启动 %task2%
start "" %task2%
---------------------------------------

监测notepad 是否不在进程列表中,如果不在就启动explorer,然后退出脚本
cmd 脚本如下:
----------------------------------
@echo off
color 0a
title 进程检测
set task1=notepad
set task2="explorer.exe"
set t=10
set n=0
:loop
set /a n=%n%+1
echo echo 正在检测%task1%是否运行,如果没运行就启动%task2%,每%t%秒钟检测一次.%n%
tasklist|find /i "%task1%"
if errorlevel 1 goto end
ping -n %t% 127.0.0.1 >nul 2>nul
echo %task1% 仍然运行
goto loop
:end
echo %task1% 已经停止,启动 %task2%
start "" %task2%
---------------------------------------------

[ 本帖最后由 dos时代菜鸟 于 2010-3-22 11:37 编辑 ]
回复

使用道具 举报

5#
发表于 2010-3-22 12:29:51 | 只看该作者
循环监控 不允许 系统运行 ie . 当然也可以用于监控病毒。

@echo off
set task1=IEXPLORE.EXE
set t=3
title no_%task1%
color 0a
mode con cols=80 lines=5
:loop
cls
echo 3秒循环监测并关闭IE!
tasklist|find /i "%task1%"
if not errorlevel 1 TASKKILL /F /IM "%task1%"
ping -n %t% 127.0.0.1 >nul 2>nul
goto loop
:end
回复

使用道具 举报

6#
发表于 2010-3-22 12:55:00 | 只看该作者
循环监控多个 进程,如果发现运行立即 终止 之。
以下 两个文件 可以实现 禁止系统运行 联众 qq 和IE

cmd 脚本如下:
-------------------------------
@echo off
mode con cols=80 lines=15
color fc
title 循环监控并终止指定进程 数据库:task2.txt
set t=3
:loop
for /f "delims=" %%c in (task2.txt) do (
tasklist| find /i "%%c" >nul
if not errorlevel 1 (
   echo 发现进程 "%%c" 尝试终止.... [%date% %time%]
   taskkill /f /im "%%c" )
)
ping -n %t% 127.0.0.1 >nul 2>nul
goto loop
:end

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

需终止的进程数据库 task2.txt 内容举例
------------
qq.exe
IEXPLORE.EXE
glworld.exe

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

[ 本帖最后由 dos时代菜鸟 于 2010-3-22 12:56 编辑 ]
回复

使用道具 举报

7#
发表于 2010-3-22 17:06:10 | 只看该作者
平时比较懒 直接

:run
taskkill  /f /im qq.exe
goto run

这样似乎太没效率了........
for 不怎么会用  6楼的批处理就收下了
回复

使用道具 举报

8#
发表于 2010-3-22 18:40:22 | 只看该作者
进来学习一下,多谢提供。。。。。。。
回复

使用道具 举报

9#
发表于 2010-3-23 00:45:42 | 只看该作者
我一般,监控病毒,  taskkill 命令, 喜欢带/T 参数跑, 这样觉得心里安稳点
回复

使用道具 举报

10#
发表于 2010-3-23 18:13:16 | 只看该作者
set n=0
:loop
set /a n=%n%+1

这个可以写成,  set/a n+=1  就行了吧

   必竟批处理的变量,是只有在%0 运行时才有效的,
回复

使用道具 举报

11#
 楼主| 发表于 2010-3-25 21:43:44 | 只看该作者
高手啊,我学习了。没白来无忧,太长知识了!
回复

使用道具 举报

12#
 楼主| 发表于 2010-3-25 22:32:30 | 只看该作者

回复 #4 dos时代菜鸟 的帖子

上面这段我没有测试,但是下面这段我测试的时候好象不太正常呀,出现
应用程序发生异常 unknown software exception (0xc0000094),位置为 0x7ff999cf
要终止程序请单击确定
要调试程序请单击取消
回复

使用道具 举报

13#
发表于 2010-3-26 21:29:16 | 只看该作者
原帖由 77730191 于 2010-3-25 22:32 发表
上面这段我没有测试,但是下面这段我测试的时候好象不太正常呀,出现
应用程序发生异常 unknown software exception (0xc0000094),位置为 0x7ff999cf
要终止程序请单击确定
要调试程序请单击取消


不知道你是怎么测试的。什么操作系统。脚本中用到 CMD 外部指令和循环,如果有杀毒软件,可能报错!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 07:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表