中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 10:46
中国DOS联盟论坛 » DOS媒体世界 & 网络技术 (多媒体室) » 求助 怎么用批处理判断路由上的主机状态。 查看 2,906 回复 1
楼 主 求助 怎么用批处理判断路由上的主机状态。 发表于 2010-10-27 01:18 ·  中国 福建 泉州 电信
新手上路
积分 4
发帖 1
注册 2010-05-12 10:35
16年会员
UID 166666
性别 男
状态 离线
在路由状态下,路由ip192.168.1.1
已经绑定ip 主机有ABCD,分别对应 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5

怎么让批处理自动判断主机在线状态,并列表显示。

如:

主机A 在线
主机B 不在线
主机C 在线
主机D 不在线

谢谢。
2 发表于 2011-01-02 18:37 ·  中国 黑龙江 哈尔滨 联通
版主
★★
系统收藏家
积分 326
发帖 285
注册 2010-02-22 00:00
16年会员
UID 160972
性别 男
来自 黑龙江省
状态 离线
比如说ping一下主机a,假如errorlevel=2,那就是不在线。

@echo off
color 2e
::判断设置文件是否存在,如果不存在,跳转到设置界面
::if not exist setting.cmd goto set
::开始判断
:1
title 正在判断主机是否上线。。。
call setting.cmd
pause
:set
title ip设置
echo 由于您是第一次使用软件,那么现在开始设置ip。
set /p a=主机 A 的ip
echo ping %a%^>nul>setting.cmd
echo if "%errorlevel%"=="1" echo 主机A不在线 ELSE ECHO 主机A在线>setting.cmd
set /p b=主机 B 的ip
echo ping %b%^>nul>setting.cmd
echo if "%errorlevel%"=="1" echo 主机B不在线 ELSE ECHO 主机B在线>setting.cmd
set /p c=主机 C 的ip
echo ping %c%^>nul>setting.cmd
echo if "%errorlevel%"=="1" echo 主机C不在线 ELSE ECHO 主机C在线>setting.cmd
set /p d=主机 D 的ip
echo ping %d%^>nul>setting.cmd
echo if "%errorlevel%"=="1" echo 主机D不在线 ELSE ECHO 主机D在线>setting.cmd
ECHO ECHO OK,检测已完成。>setting.cmd
echo 按任意键重新检测,关闭请直接点击窗口右上方的"X"退出。>setting.cmd
echo pause^>nul>setting.cmd
echo goto 1>setting.cmd
ECHO 设置完毕!按任意键开始检测。
PAUSE
GOTO 1

本代码未经测试!
如果有问题的话告诉我
论坛跳转: