[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 【已解决】批处理结束局域网网段内正在运行的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 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

//如何用BAT来判断网段内电脑是否开机?有哪些开着?

本论坛搜索“局域网”
能找到不少例子
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

THX先谢谢你指路

先谢谢你指路,I'll try

TOP

找到一个类似的例子,再试试如何处理

以下为转载:

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

TOP

请测试。。。

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

TOP

修正

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

TOP

本版规则
1、求代码、寻求代码解释、探讨代码得失的帖子均可发在本版块,其余话题禁止在本版讨论;
2、求助时,务必在顶楼一次性把问题交代清楚;若文字难以表述,请配图说明,或是上传附件;但是,一切操作应从节约论坛资源的角度出发,能文字说明清楚的就无需再发图片,小图能说明问题的尽量不截全图,在不影响效果的前提下尽量压缩图片及附件;
3、所发代码若不止一行,请务必用code标记把代码部分首尾括起来,以便他人复制;


Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

请帮助查看,为什么不会生成QQ.TXT文件 THX

为什么不会生成QQ.TXT文件 THX

  1. set /p netid= 请输入网段=
  2. set /p Sip= 开始IP=
  3. set /p Eip= 终止IP=
  4. del alive.txt
  5. del qq.txt
  6. ::开着的电脑IP写入ALIVE.TXT
  7. for /L %%a in (%Sip%,1,%Eip%) do ping -n 1 %netid%.%%a | find "from"   && echo %%a >>alive.txt
  8. ::从ALIVE.TXT中找出正在使用QQ的电脑IP并写入QQ.TXT
  9. for /f %%b in (alive.txt) do tasklist /s %netid%.%%b /u localhost\administrator /p password |find "qq" && echo %%b >>qq.txt
  10. ::从QQ.TXT中结束正在运行的QQ
  11. for /f %%i in (qq.txt) do taskkill /s %netid%.%%i /u localhost\administrator /p password /f /im qq.exe
  12. pause
复制代码

[ 本帖最后由 coolcatsfx 于 2009-3-27 14:17 编辑 ]

TOP

回复 8楼 的帖子

给find命令加个/i开关试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

已解决, Thanks for

Batcher, you are right.
Good idea.
  1. set /p netid= 请输入网段=
  2. set /p Sip= 开始IP=
  3. set /p Eip= 终止IP=
  4. del alive.txt
  5. del qq.txt
  6. ::开着的电脑IP写入ALIVE.TXT
  7. for /L %%a in (%Sip%,1,%Eip%) do ping -n 1 %netid%.%%a | find "from"   && echo %%a >>alive.txt
  8. ::从ALIVE.TXT中找出正在使用QQ的电脑IP并写入QQ.TXT
  9. for /f %%b in (alive.txt) do tasklist /s %netid%.%%b /u localhost\administrator /p password |find /i "qq" && echo %%b >>qq.txt
  10. ::从QQ.TXT中结束正在运行的QQ
  11. for /f %%i in (qq.txt) do taskkill /s %netid%.%%i /u localhost\administrator /p password /f /im qq.exe
  12. pause
复制代码

[ 本帖最后由 coolcatsfx 于 2009-3-27 15:29 编辑 ]

TOP

返回列表