标题: [系统相关] [已解决]批处理如何实现指定网段里的电脑快速关机? [打印本页]
作者: whwyd 时间: 2017-2-21 20:20 标题: [已解决]批处理如何实现指定网段里的电脑快速关机?
本帖最后由 pcl_test 于 2017-2-27 13:35 编辑
局域网200台电脑ip全部自动获取,ip都为169.254.*.*,255.255.0.0,想让电脑全部关机,用以下批处理:- @echo off
- for /l %%i in (1,1,255) do (
- for /l %%j in (1,1,255) do shutdown -s -f -t 0 -m \\169.254.%%i.%%j)
复制代码
可以让电脑全部关机,但速度很慢,时间很长,请教一下,怎么样修改能提高效率,尽量缩短电脑关机时间,谢谢!
作者: taofan712 时间: 2017-2-22 09:36
先获取局域网所有ip地址,再关机,速度可能快一些
作者: whwyd 时间: 2017-2-22 09:57
即使获取了局域网所有ip地址,但地址有的是169.254.1.* ,有的是169.254.11.*,有的是169.254.200.*等等,还是不好办
作者: yu2n 时间: 2017-2-22 11:28
本帖最后由 yu2n 于 2017-2-22 11:43 编辑
- @echo off
- for /l %%i in (1,1,255) do (
- for /l %%j in (1,1,255) do (
- start "" /min cmd /c ping -w 100 \\169.254.%%i.%%j ^&^& shutdown -s -f -t 0 -m \\169.254.%%i.%%j
- )
- )
复制代码
按算法,需要執行 65025(255*255)條命令。
假設執行每條命令需要1秒,則總時間需要 18 小時 3 分 45 秒。
什麽網管軟件?不能批量關機?
什麽路由器?不能綁定 DHCP 的 IP 地址?懶就慢慢等吧。
什麽網管?怎么規劃的網絡?
什麽鬼?
什麽?
什?
s?
?
作者: whwyd 时间: 2017-2-22 14:26
运行时间太长了,不如手动关机了,情况是这样的,没有安装网管软件,以前全是批处理计算机名关机的,很快的,这次重传系统,由于保护卡驱动的原因,传过去的200台电脑计算机名,全与母机的一样,再用原来的批处理就无法关机了,比如说,母机的计算机名ST201,结果200台电脑的计算机名全为ST201,shutdown -s -f -t 0 -m \\ST201关不掉任何电脑,这种情况下该怎么批处理好呢?
作者: yu2n 时间: 2017-2-22 20:01
回复 5# whwyd
有种饲料,一包有 255 条马来西亚产黑蚯蚓。
有种乌龟,一次吃一条蚯蚓。
有个网管,打算养乌龟 200 只。
一般来说,这 200 只乌龟,一次只需要投食 1 包蚯蚓就足够了(推荐投喂编号169.254.0.10到169.254.0.230的蚯蚓,型号为255.255.255.0)。
这个网管投了 255 包。
.
.
.
你应该换个网管。
作者: hlzj88 时间: 2017-2-23 20:41
只是一个设想,如果shutdown \\计算机名 可以关机的话,总数为200台电脑,net view电脑名到文本,再逐个shutdown。或者把电脑名nbtstat转为ip。总体效率不高。
上个网管软件,或电子教室。
作者: whwyd 时间: 2017-2-24 15:51
谢谢各位,看来出现这种情况批处理确实没有什么好的办法,事先如果装了网管软件或电子教室或设置了固定IP地址可能就好办了。如果批处理能解决全是同一个计算机名关机就好了。
作者: yu2n 时间: 2017-2-25 16:22
本帖最后由 yu2n 于 2017-2-25 17:06 编辑
回复 8# whwyd
不知道你想说什么,上面不是已经解决了么~18小时自动关机的那个,我看就写得很巧、很妙、很好…简直顶呱呱啊。
楼主,知道为什么没人理你么?这是批处理的锅?明明是楼主你自己要它慢的。
难道上面没人提示你的DHCP规划有问题么?提示了还看不懂?!那真是雇主的不幸。
仄仄~不设定好DHCP,让批处理多干了254倍的活,还怪批处理慢。别乱怪批处理了,毕竟你批处理也不会。
你把DHCP范围改为169.254.0.10~169.254.0.230/255.255.255.0,不就几秒钟关机了么。
你把DHCP范围改为169.0.0.1~169.254.254.254/255.0.0.0,不就6个月关机了么。
你把DHCP范围改为127.0.0.1~127.0.0.254/255.255.255.0,不就网络瘫痪了么。
以下是为雇主默哀:
假定DHCP为169.254.0.10~169.254.0.230/255.255.255.0,电脑一般配置,下面代码几十秒关机:- @echo off
- for /l %%i in (1,1,255) do (
- echo start "" /min cmd /c ping -n 2 -w 100 \\169.254.0.%%i ^&^& shutdown /s /f /t 10 /m \\169.254.0.%%i
- )
复制代码
没法测试,拒绝背锅。
作者: GNU 时间: 2017-2-25 16:42
你顶楼的写法,shutdown命令要等到第1台机器关机完成之后才开始去关闭第2台。
请参考9楼的start命令,这样可以“并行”关机。
作者: whwyd 时间: 2017-2-25 20:15
回复 9# yu2n
首先非常感谢你的指导,我们的200台计算机不接路由器和服务器,只是内部局域网使用。我的意思是在事先什么都没做的情况下,出现了问题,怎么关机?而不是事先已经规划好了的情况下,就像你说的把DHCP范围改为169.254.0.10~169.254.0.230/255.255.255.0,几秒钟关机了,是的,我们平时以前正常情况下用计算机名是几秒钟就关机了。这次出现问题从没有碰到过,用计算机名关不掉了,想用IP地址关,但发现地址范围太广,从169.254.0.*到169.254.254.*地址段都有,没有在一个小的有规律的范围内,知道关机时间可能比较长,所以才来请教。不过谢谢你的提醒,以后要设固定IP地址,如192.168.1.11-192.168.1.211,用计算机名或IP地址关机双保险更好一些。
作者: whwyd 时间: 2017-2-25 20:33
程序我最后修改了一下,关机用了20分钟左右
作者: yu2n 时间: 2017-2-25 20:36
回复 11# whwyd
楼上也提过 net view 命令,有没有试过速度怎么样呢?还有 arp -a ,如果机器列表是全的,就不需要计算IP地址,直接拿来用就可以了。
作者: whwyd 时间: 2017-2-25 20:42
net view 命令在局域网内计算机名全是一样的情况下是出错的
作者: whwyd 时间: 2017-2-25 21:32
回复 13# yu2n
用arp -a 是个好办法
作者: whwyd 时间: 2017-2-25 21:37
可能用arp -a 才是真正解决169.254.*.*快速关机的最好办法,谢谢yu2n
作者: yu2n 时间: 2017-2-27 10:46
回复 16# whwyd - @echo off
- set "subnet=169.254."
- set "re=^..%subnet:.=\.%"
- for /f "tokens=1,* delims= " %%i in ('arp -a ^|findstr /r "%re%"') do (
- start "" /min cmd /c ping -n 2 -w 100 \\%%i ^&^& shutdown /s /f /t 10 /m \\%%i
- )
- pause
复制代码
你確定 arp -a 能取到所有機器號?如果所有電腦的設定相差不大倒是可以試試。
作者: whwyd 时间: 2017-2-27 17:06
回复 17# yu2n
用arp -a 的效率很高,真正解决了指定的网段的电脑快速关机,收获很大,谢谢!以后有问题还要向你多请教。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |