我给你两种方案:
1、用ping命令;
2、用net view命令。
用这两个命令结合批处理程序来达到你的目的!
这两个BAT是我以前写的,你可以修改下变成你运用得到的!呵呵!

1、ping方案(手动输入起始IP和结束IP):
 off
title 扫描在线IP
::MODE con: COLS=60 LINES=18
color 0a
::装饰。

:kaishi
cls
for /l %%i in (1,1,4) do echo.
echo                       输入起始IP地址和结束IP地址后回车,扫描完成
echo                   之后会在此程序目录下生成TXT文件,文件内记录了
echo                   在线和不在线的主机。
echo.
set /p qishi= 起始IP:
set /p jieshu= 终止IP:
IF ERRORLEVEL 1 echo 错误的IP地址格式! && pause && goto kaishi
echo.
::从键盘获得两个变量的值。

for /f "tokens=1-4 delims=." %%a in ("%qishi%") do (
if %%a LSS 0 goto error
if %%a GTR 255 goto error
if %%b LSS 0 goto error
if %%b GTR 255 goto error
if %%c LSS 0 goto error
if %%c GTR 255 goto error
if %%d LSS 0 goto error
if %%d GTR 255 goto error
 set v1=%%a
 set v2=%%b
 set v3=%%c
 set v4=%%d
)
::分割起始IP的四个段并赋值,判断IP是否正确。

for /f "tokens=1-4 delims=." %%a in ("%jieshu%") do (
if %%a LSS 0 goto error
if %%a GTR 255 goto error
if %%b LSS 0 goto error
if %%b GTR 255 goto error
if %%c LSS 0 goto error
if %%c GTR 255 goto error
if %%d LSS 0 goto error
if %%d GTR 255 goto error
 set v5=%%a
 set v6=%%b
 set v7=%%c
 set v8=%%d
)
::分割终止IP的四个段并赋值,判断IP是否正确。

IF %V5% LSS %V1% echo 错误:终止IP不能小于起始IP。& pause & goto kaishi
::判断终止IP与起始IP的正确性。

echo 正在扫描...
IF %V4% LEQ %V8% set zengzhi_1=1
IF %V4% GEQ %V8% set zengzhi_1=-1
IF %v3% LEQ %v7% set zengzhi_2=1
IF %V3% GEQ %V7% set zengzhi_2=-1
IF %v2% LEQ %v6% set zengzhi_3=1
IF %v2% GEQ %v6% set zengzhi_3=-1
for /L %%d in (%v1%,1,%v5%) do (
for /L %%c in (%v2%,%zengzhi_3%,%v6%) do (
for /L %%b in (%v3%,%zengzhi_2%,%v7%) do (
for /L %%a in (%v4%,%zengzhi_1%,%v8%) do (
ping /n 1 %%d.%%c.%%b.%%a >nul && echo %%d.%%c.%%b.%%a  开机 && echo %%d.%%c.%%b.%%a>>在线主机.txt || echo %%d.%%c.%%b.%%a  关机 && echo %%d.%%c.%%b.%%a >>不在线主机.txt
)
)
)
)
for /l %%i in (1,1,5) do echo.
echo                                  ☆ 报告 ☆
IF EXIST 在线主机.txt (
FOR /F "tokens=3 delims= " %%c in ('find /c 在线主机.txt " "') do set zx=%%c
) ELSE (
set zx=0
)
IF EXIST 不在线主机.txt (
FOR /F "tokens=3 delims= " %%c in ('find /c 不在线主机.txt " "') do set bzx=%%c
) ELSE (
set bzx=0
)
set /a zgjsj=%zx%+%bzx%
echo %date% %time%>☆报告☆.txt
echo 扫了%zgjsj%台计算机! & echo 扫了%zgjsj%台计算机!>>☆报告☆.txt
echo 有%zx%台计算机在线! & echo 有%zx%台计算机在线!>>☆报告☆.txt
echo 有%bzx%台计算机不在线! & echo 有%bzx%台计算机不在线!>>☆报告☆.txt
echo        10秒后自动退出... & ping 127.1 -n 10 >nul & exit

:error
echo 错误的IP地址!
pause
goto kaishi

2、用net view方案(全自动):
 off
title 共享扫描..ipc讲...
MODE con: COLS=80 LINES=22
color 0a
echo.
echo 工作组内所有计算机:
FOR /F "eol=- delims=\" %%c in ('net view') do (
FOR /F "eol=服" %%i in ('echo %%c') do (
FOR /F "eol=命" %%i in ('echo %%c') do (
echo %%i
echo %%i>>全部在线主机.txt
echo %%i>>pcname.txt
echo %%i >>pcname2.txt
)
)
)
::echo 分析其计算机的IP地址...
::FOR /F "delims=" %%h in (pcname.txt) do 
::FOR /F "tokens=3 delims= " %%j in ('ping %%h -n 1') do echo %%j
::)
echo.
echo 扫描共享文件...
FOR /F "delims=" %%c in (pcname.txt) do (
net view \%%c >nul 2>nul && echo %%c>>有共享.txt && echo %%c  共享文件:>>共享的文件2.txt && echo ==============================================>>共享的文件2.txt && net view \%%c>>共享的文件2.txt && echo       .>>共享的文件2.txt && echo       .>>共享的文件2.txt && echo %%c  有共享||echo %%c  无共享
)
::除去net view命令结果内多余的文字
FOR /F "eol=在 delims=" %%c in (共享的文件2.txt) do (
FOR /F "eol=- delims=" %%i in ('echo %%c') do (
FOR /F "eol=命 delims=" %%c in ('echo %%i') do (
echo %%c>>共享的文件.txt
)
)
)

echo.
echo 扫描能ipc拥募扑慊...
FOR /F "delims=" %%i in (pcname.txt) do (
net use \%%iipc " /user:"" >nul 2>nul && echo %%i>>ipc映晒Φ募扑慊.txt && net use \%%i /del>nul && echo %%i  ipc映晒!||echo %%i  ipc邮О!
)
echo.
echo.
echo.
echo                                  ☆ 报告 ☆
IF EXIST pcname2.txt (
FOR /F "tokens=3 delims= " %%c in ('find /c pcname2.txt " "') do echo 当前工作组内有%%c台计算机!
) ELSE (
echo 当前工作组内有0台计算机!
)
IF EXIST 有共享.txt (
FOR /F "tokens=3 delims= " %%c in ('find /c 有共享.txt " "') do echo 当前工作组内有%%c台计算机有共享文件! & del 有共享.txt
) ELSE (
echo 当前工作组内有0台计算机有共享文件
)
IF EXIST ipc映晒Φ募扑慊.txt (
FOR /F "tokens=3 delims= " %%c in ('find /c ipc映晒Φ募扑慊.txt " "') do echo 当前工作组内有%%c台计算机ipc芰映晒!
) ELSE (
echo 当前工作组内有0台计算机ipc芰映晒!
)
del pcname.txt>nul
del pcname2.txt>nul
del 共享的文件2.txt>nul
echo        10秒后自动退出... & ping 127.1 -n 10 >nul & exit

为你的情况写的代码:
 off
echo 正在扫描...
FOR /F "delims= " %%c in (d:    esthostname.txt) do ping %%c /n 1 >nul && echo %%c 开机! && echo %%c>>d:    est开机主机.txt||echo %%c 关机! && echo %%c>>d:    est关机主机.txt
echo 扫描完毕!
pause

转载于:https://www.cnblogs.com/lxy2015/p/4644040.html

批处理检测局域网电脑是否开机(转载)相关推荐

  1. 监测到本计算机上装有sql,检测局域网电脑是否有安装SQL Server数据库

    本文主要介绍如何检测局域网中的电脑是否有安装SQL Server数据库,并将其列出的方法.接下来我们就开始介绍这一过程的实现. 引用SQL DMO组件. //取得本局域网内所有可用sql服务器名 cm ...

  2. 计算机启动时检测硬盘,电脑每次开机都要硬盘自检的具体解决方法

    最近有网友反映说自己在给电脑开机的时候,发现每次开机都会自动检测硬盘,拖慢了开机速度.但不知道该怎么解决这一情况很是苦恼.所以今天本文为大家分享的就是关于电脑每次开机都要硬盘自检的具体解决方法. 解决 ...

  3. 计算机开机后发现不了硬盘 首先应该检查,电脑每次开机都检测硬盘,怎么关闭这项功能?...

    如何关闭硬盘开机检测?-:开机自检时可以通过以下方法关闭硬盘的智能状态(不检测是无法实现的) hard disk state at all): 1) Boot into bios (通常按f1, f2 ...

  4. 批处理获取计算机域名,用批处理获取局域网中电脑ip和mac地址表

    用批处理获取局域网中电脑ip和mac地址表 为了避免IP地址抵触和体系安全,局域网中电脑的IP地址和MAC地址对照表是要常常备份的.除了能够运用软件处理外,用细巧专心的批处理也是一个不错的挑选.用记事 ...

  5. 计算机启动老是检测硬盘怎么解决,电脑每次开机都要自检怎么办?为什么每次开机都要自检?...

    原来电脑很好,但是最近每次开机,都会出现磁盘自检,而且要等很长时间,很烦人,为什么每次开机都要自检?电脑每次开机时是如何自我检查的?下面小编为您介绍一下其原因和解决方案,希望对您有所帮助! 磁盘自我检 ...

  6. dell服务器卡在启动界面_戴尔最新bios设置图解 当电脑出现开机画面按F2进入

    导读:提到戴尔,大家应该都不陌生,有朋友问戴尔电脑文档保存之后没了,当然了,还有朋友想问如何进入dell电脑bios设置,这到底是咋回事?其实戴尔(dell)服务器内存条呢,下面是小编精心为你们整理的 ...

  7. 连接网络计算机密码错误,局域网电脑连接提示网络错误怎么解决

    局域网可以实现文件管理.应用软件共享.打印机共享.工作组内的日程安排.***和传真通信服务等功能,功能十分强大,不过如果设置不恰当,内网中电脑连接网络会出现错误,具体怎么解决呢.下面是小编为大家整理的 ...

  8. 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电

    何电脑当开机需要密码时,只需将机箱打开,把里面的声卡或其它任何一 个零件拔下来,然后通电启动,主板自检后再强行关机,把拔下的零件再插 上去,开机,密码自动清除,百试百灵.(个人觉得还是放电 好,之所以 ...

  9. 开机f8修复电脑步骤_知识 | 8种方法修复电脑无法开机问题

    以下方法同时适用于台式电脑.笔记本电脑和所有 Windows 系统. 01 基础检测 如果按下电源后,电脑风扇.电源灯和屏幕等都没有任何反应,可能是因为没有通电.台式机请尝试重新连接电源线. 笔记本电 ...

  10. 计算机风机不运转也启动了怎么办,电脑不开机风扇一直转怎么解决_电脑无法开机风扇一直转怎么办-win7之家...

    电脑使用久了也会遇到些问题,比如电脑开机的时候只有风扇一直在转但没有开机的情况,这种情况是内存金手指氧化或者接触不良造成的,那么电脑无法开机风扇一直转怎么办呢,下面小编给大家分享电脑不开机风扇一直转的 ...

最新文章

  1. 别人总结的批处理技巧
  2. css3 使用SVG做0.5px 的边框细线
  3. 动态so库的链接:运行时链接和编译时链接
  4. 发现一个小坑的地方,unity的协程,想要停止,必须以字符串启动
  5. 使用Exchange 2007的几个注意事项
  6. 【渝粤教育】国家开放大学2018年秋季 0233-22T学前儿童语言教育 参考试题
  7. SetConsoleCtrlHandler() -- 设置控制台信号处理函数
  8. 本地页面存1天的缓存
  9. 关于使用类成员函数作为回调的方法
  10. 【安装包】MySQL服务端
  11. 并发编程---死锁||递归锁---信号量---Event事件---定时器
  12. 针式打印机无电脑测试软件,针式打印机断针测试软件合集
  13. gmp php study,[技术干货] USP中文翻译连载 | 产品生命周期的包装密封性检查 (1、2之3)...
  14. 分享一篇投稿英文期刊该如何回复审稿人的文章
  15. MATLAB实现非线性动态范围调整算法
  16. 漫谈测试成长之探索——测试排期
  17. Java聊天室——实现多人聊天、私聊、群聊
  18. CC00027.hadoop——|HadoopHive.V27|——|Hive.v27|Hive优化策略|实战.v03|
  19. 解决pcntl_fork() has been disabled for security reasons in file /www/wwwroot/192.168.21.2/vendor/wor
  20. java 入参校验_Java Validation方法入参校验实现过程解析

热门文章

  1. 10G XFP万兆光模块全类型介绍
  2. windows屏幕分辨率获取方式
  3. 物联网安全架构与基础设施
  4. FeignClient中每一个@RequestParam 都要设置value,否者报错
  5. 现代汉语词典第五版_瑜 典 寻 瑕——第五版《现代汉语词典》的瑕疵(周克庸原创)...
  6. 2021年北京市企业技术中心申报时间及条件是什么
  7. EL表达式与JSTL标签库
  8. RTKLIB_E.5对流层和电离层模型
  9. 数据链路层(以太网、MTU、ARP协议)
  10. 按下Backspace键,就会跳转到上一个页面。JavaScript屏蔽Backspace键处理,禁用Backspace键。