中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 02:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [以解决]ping 不通就ping下一个地址,ping得通等用户操作? 查看 836 回复 5
楼 主 [以解决]ping 不通就ping下一个地址,ping得通等用户操作? 发表于 2008-06-24 10:05 ·  中国 四川 广安 岳池县 电信
新手上路
积分 14
发帖 5
注册 2008-04-18 10:35
18年会员
UID 116220
性别 男
状态 离线
高手见笑了

有一个1.txt里面记录了一系列ip(172.16.86.1
172.16.86.2
172.16.86.3

要ping这些ip
不通则删除该ip记录(例如172.16.86.1不通则在1.txt文件中删除该记录)且继续ping下一ip(172.16.86.2通)
通则执行一操作,这一操作完后等用户命令(如pause)
有命令又ping下一ip(172.16.86.3)
咋办???????

[ Last edited by guoliyan1 on 2008-6-24 at 06:44 PM ]
2 发表于 2008-06-24 16:36 ·  中国 四川 广安 岳池县 电信
新手上路
积分 14
发帖 5
注册 2008-04-18 10:35
18年会员
UID 116220
性别 男
状态 离线
谢谢2楼 :测试时提示“此时不应有 1” if %errorlever% neq 1有问题
但是我觉得思路是对的呀 ??????????????痛苦中

[ Last edited by guoliyan1 on 2008-6-24 at 05:15 PM ]
3 发表于 2008-06-24 17:22 ·  IANA 局域网IP(Private-Use)
初级用户
积分 65
发帖 29
注册 2008-03-24 12:17
18年会员
UID 113853
性别 男
状态 离线
根据2楼的思路改了一下

@echo off & setlocal enabledelayedexpansion
if exist 2.txt del 2.txt
for /f %%i in (1.txt) do (
ping -n 1 %%i>nul
if not errorlevel 1 (
echo %%i ping测试通过
echo %%i>>2.txt
set /p ct="是否继续测试(y/n)"
if /i not "!ct!"=="y" goto :eof
)
)
del /q /f 1.txt & ren 2.txt 1.txt
4 发表于 2008-06-24 17:33 ·  中国 四川 广安 岳池县 电信
新手上路
积分 14
发帖 5
注册 2008-04-18 10:35
18年会员
UID 116220
性别 男
状态 离线
谢谢4楼 通过 2楼咋个错的呢
5 发表于 2008-06-24 17:44 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
晕,是笔误,把errorlever改为errorlevel
批处理之家新域名:www.bathome.net
6 发表于 2008-06-24 18:26 ·  中国 四川 广安 岳池县 电信
新手上路
积分 14
发帖 5
注册 2008-04-18 10:35
18年会员
UID 116220
性别 男
状态 离线
2楼:for /f "delims=" %%i in (1.txt) do (
ping -n 1 %1)
测试给出提示IP address must be specified.
%i没有传给扩展变量%1,晕
论坛跳转: