标题: [系统相关] 【已解决】批处理结束局域网网段内正在运行的QQ? [打印本页]
作者: coolcatsfx 时间: 2009-3-26 16:52 标题: 【已解决】批处理结束局域网网段内正在运行的QQ?
用BAT来结束局域网网段内正在运行的QQ
环境:拥有局域网内所有电脑的本地管理密码,XP,使用TASKKILL,
目地:运行一个BAT来自动扫描网段所有电脑,先检查是否开机,开机则检查是否有QQ在运行并TASKKILL结束它;若没开机,不运行TASKKILL。
已知,for /l %%i in (30,1,252) do taskkill /s 10.128.238.%%i /u localhost\administrator /p password /f /im qq.exe
结束在网段10.128.238.30-252内正在运行的QQ
求教,如何用BAT来判断网段内电脑是否开机?有哪些开着?
[ 本帖最后由 coolcatsfx 于 2009-3-27 15:36 编辑 ]
作者: Batcher 时间: 2009-3-26 17:13
//如何用BAT来判断网段内电脑是否开机?有哪些开着?
本论坛搜索“局域网”
能找到不少例子
作者: coolcatsfx 时间: 2009-3-26 17:16 标题: THX先谢谢你指路
先谢谢你指路,I'll try
作者: coolcatsfx 时间: 2009-3-26 17:29 标题: 找到一个类似的例子,再试试如何处理
以下为转载:
set /p netid=请输入一个C类网段(如:192.168.1):
echo off
for /L %%A in (1,1,10) do ping -n 1 %netid%.%%A | find "from" && echo %netid%.%%A >>alive.txt
作者: coolcatsfx 时间: 2009-3-26 17:33 标题: 请测试。。。
set /p netid=
echo off
for /L %%A in (30,1,252) do ping -n 1 %netid%.%%A | find "from" && echo %netid%.%%A >>alive.txt
for /l %%i in (alive.txt) do taskkill /s 10.128.238.%%i /u localhost\administrator /p password /f /im qq.exe
作者: coolcatsfx 时间: 2009-3-26 20:19 标题: 修正
set /p netid=
for /L %%A in (11,1,15) do ping -n 1 %netid%.%%A | find "from" && echo %%A >>alive.txt
for /f %%b in (alive.txt) do tasklist /s %netid%.%%b /u localhost\administrator /p password |find "qq" && echo %%b >>qq.txt
for /f %%i in (qq.txt) do taskkill /s %netid%.%%i /u localhost\administrator /p password /f /im qq.exe
作者: Batcher 时间: 2009-3-26 20:21
本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;
Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
作者: coolcatsfx 时间: 2009-3-27 10:08 标题: 请帮助查看,为什么不会生成QQ.TXT文件 THX
为什么不会生成QQ.TXT文件 THX
- set /p netid= 请输入网段=
- set /p Sip= 开始IP=
- set /p Eip= 终止IP=
-
- del alive.txt
- del qq.txt
-
- ::开着的电脑IP写入ALIVE.TXT
- for /L %%a in (%Sip%,1,%Eip%) do ping -n 1 %netid%.%%a | find "from" && echo %%a >>alive.txt
-
-
- ::从ALIVE.TXT中找出正在使用QQ的电脑IP并写入QQ.TXT
- for /f %%b in (alive.txt) do tasklist /s %netid%.%%b /u localhost\administrator /p password |find "qq" && echo %%b >>qq.txt
-
- ::从QQ.TXT中结束正在运行的QQ
- for /f %%i in (qq.txt) do taskkill /s %netid%.%%i /u localhost\administrator /p password /f /im qq.exe
-
- pause
复制代码
[ 本帖最后由 coolcatsfx 于 2009-3-27 14:17 编辑 ]
作者: Batcher 时间: 2009-3-27 15:14 标题: 回复 8楼 的帖子
给find命令加个/i开关试试
作者: coolcatsfx 时间: 2009-3-27 15:28 标题: 已解决, Thanks for
Batcher, you are right.
Good idea.
- set /p netid= 请输入网段=
- set /p Sip= 开始IP=
- set /p Eip= 终止IP=
-
- del alive.txt
- del qq.txt
-
- ::开着的电脑IP写入ALIVE.TXT
- for /L %%a in (%Sip%,1,%Eip%) do ping -n 1 %netid%.%%a | find "from" && echo %%a >>alive.txt
-
-
- ::从ALIVE.TXT中找出正在使用QQ的电脑IP并写入QQ.TXT
- for /f %%b in (alive.txt) do tasklist /s %netid%.%%b /u localhost\administrator /p password |find /i "qq" && echo %%b >>qq.txt
-
- ::从QQ.TXT中结束正在运行的QQ
- for /f %%i in (qq.txt) do taskkill /s %netid%.%%i /u localhost\administrator /p password /f /im qq.exe
-
- pause
复制代码
[ 本帖最后由 coolcatsfx 于 2009-3-27 15:29 编辑 ]
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |