中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 01:23
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » [以解决]ping 不通就ping下一个地址,ping得通等用户操作?
可打印版本  833 / 5
第1楼 guoliyan1 发表于 2008-06-24 10:05
新手上路 发帖 5 积分 14
[以解决]ping 不通就ping下一个地址,ping得通等用户操作?
高手见笑了

有一个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楼 guoliyan1 发表于 2008-06-24 16:36
新手上路 发帖 5 积分 14
谢谢2楼 :测试时提示“此时不应有 1” if %errorlever% neq 1有问题
但是我觉得思路是对的呀 ??????????????痛苦中

[ Last edited by guoliyan1 on 2008-6-24 at 05:15 PM ]
第3楼 hongewuyan 发表于 2008-06-24 17:22
初级用户 发帖 29 积分 65
根据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楼 guoliyan1 发表于 2008-06-24 17:33
新手上路 发帖 5 积分 14
谢谢4楼 通过 2楼咋个错的呢
第5楼 bat-zw 发表于 2008-06-24 17:44
金牌会员 发帖 1,276 积分 3,105
晕,是笔误,把errorlever改为errorlevel
第6楼 guoliyan1 发表于 2008-06-24 18:26
新手上路 发帖 5 积分 14
2楼:for /f "delims=" %%i in (1.txt) do (
ping -n 1 %1)
测试给出提示IP address must be specified.
%i没有传给扩展变量%1,晕
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023