中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 能用P处理检测进程数目,并执行指定的动作吗?
作者:
标题: 能用P处理检测进程数目,并执行指定的动作吗? 上一主题 | 下一主题
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
状态 离线
『第 7 楼』:  

应该没问题,自己试着写写看

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
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (517992574)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: