Board logo

标题: 能用P处理检测进程数目,并执行指定的动作吗? [打印本页]

作者: scy97     时间: 2009-5-22 05:48    标题: 能用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 ]
作者: Hanyeguxing     时间: 2009-5-22 14:42
@echo off
tasklist | find /i "explorer.exe,svchost.exe" || goto aa
echo 无
pause
:aa
echo 有
pause
你运行看看,显示的是什么?
实践是检验真理的唯一标准!
作者: scy97     时间: 2009-5-23 08:16


  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
你运行看看,显示的是什么?
实践是检验真理的唯一标准!

显示有,这两个进程正常的机器开机也有呀。
作者: scy97     时间: 2009-5-23 08:18
哪位高手能写个
“用P处理检测进程数目,并执行指定的动作 ”
的P处理么?
作者: gdyabc     时间: 2009-5-24 02:59
tasklist>test.txt
find /n "exe" test.txt>test2.txt
作者: Hanyeguxing     时间: 2009-5-24 04:02


  Quote:
Originally posted by scy97 at 2009-5-23 08:16:


显示有,这两个进程正常的机器开机也有呀。

换成这两个进程名,仅是为了方便测试批处理。。。
作者: jlty258     时间: 2009-5-25 11:54
应该没问题,自己试着写写看
作者: guo882633     时间: 2009-7-7 03:24
@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

看看这个对你有没有帮助。。功能:结束已知进程外的所有进程。