|
scy97
新手上路
积分 4
发帖 4
注册 2009-5-21
状态 离线
|
『楼 主』:
能用P处理检测进程数目,并执行指定的动作吗?
我想用P处理或者是VBS来实现这个目的:
电脑刚开机时,就检查进程数目,如果超过24个,就发送一个以计算机名为文件名的文本文件到指定的远程目录。并自动关机。
如果没超过,就不用理会。
我最初写的代码是,如果进程里有1[1].exe,2[2].exe等进程就发送一个以计算机名为文件名的文本文件到指定的远程目录。并自动关机。下面附上我的代码:
------------------------------
tasklist | find /i "1[1].exe,2[2].exe" || goto aa
exit
:aa
tasklist >> c:\%computername%.txt
copy c:\%computername%.txt \\dy\Drv\a\Result
shutdown /f /s /t 10
exit
------------------------
可有人说我写的不对,给出了以下代码:
tasklist | find /i "1[1].exe,2[2].exe" || goto aa
tasklist >> c:\%computername%.txt
copy c:\%computername%.txt \\dy\Drv\a\Result
shutdown /f /s /t 10
exit
:aa
exit
这人的代码我是这样理解的:
如果有 1[1].exe ,就 goto aa, 而aa 下面是 exit ,就退出了。
如果没有 1[1].exe ,就执行 tasklist>> , copy , 这些命令。
这样的话不是正好与我的要求相反了吗??
期待高手指点,谢谢。
[ Last edited by scy97 on 2009-5-22 at 06:04 ]
|
|
2009-5-22 05:48 |
|
|
Hanyeguxing
银牌会员
正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
『第
2 楼』:
@echo off
tasklist | find /i "explorer.exe,svchost.exe" || goto aa
echo 无
pause
:aa
echo 有
pause
你运行看看,显示的是什么?
实践是检验真理的唯一标准!
|
|
2009-5-22 14:42 |
|
|
scy97
新手上路
积分 4
发帖 4
注册 2009-5-21
状态 离线
|
『第
3 楼』:
Quote: | Originally posted by Hanyeguxing at 2009-5-22 14:42:
@echo off
tasklist | find /i "explorer.exe,svchost.exe" || goto aa
echo 无
pause
:aa
echo 有
pause
你运行看看,显示的是什么?
实践是检验真理的唯一标准! |
|
显示有,这两个进程正常的机器开机也有呀。
|
|
2009-5-23 08:16 |
|
|
scy97
新手上路
积分 4
发帖 4
注册 2009-5-21
状态 离线
|
『第
4 楼』:
哪位高手能写个
“用P处理检测进程数目,并执行指定的动作 ”
的P处理么?
|
|
2009-5-23 08:18 |
|
|
gdyabc
初级用户
积分 41
发帖 37
注册 2009-1-9 来自 四川南充
状态 离线
|
『第
5 楼』:
tasklist>test.txt
find /n "exe" test.txt>test2.txt
|
echo @echo off>TEST.bat |
|
2009-5-24 02:59 |
|
|
Hanyeguxing
银牌会员
正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by scy97 at 2009-5-23 08:16:
显示有,这两个进程正常的机器开机也有呀。 |
|
换成这两个进程名,仅是为了方便测试批处理。。。
|
|
2009-5-24 04:02 |
|
|
jlty258
初级用户
积分 37
发帖 34
注册 2009-4-13
状态 离线
|
|
2009-5-25 11:54 |
|
|
guo882633
初级用户
积分 126
发帖 53
注册 2007-2-4 来自 -
状态 离线
|
『第
8 楼』:
@echo off
:dd
for /f "delims=" %%a in (jw.txt) do call set "proc=%%proc%%%%a "
for /f %%a in ('tasklist /nh^|findstr /i /v "%proc%"') do taskkill /im %%a /f
goto dd
看看这个对你有没有帮助。。功能:结束已知进程外的所有进程。
|
|
2009-7-7 03:24 |
|