中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 23:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 是否的问题 查看 717 回复 7
楼 主 是否的问题 发表于 2007-01-11 01:58 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
@echo off
color 1f
title ip测试
:loop
set a=
set/p a=请输入你要测试的ip地址:
for %%i in ("%a%") do ping -n 1 %%i | find "Reply" >ip测试结果.txt
:for
for /f "tokens=3 delims=: " %%a in (ip测试结果.txt) do @echo %%a >a.txt
有没有办法,如果没发现reply就跳转loop,如果有就执行for


──────────────── 版务记录 ────────────────
执行:namejm
原标题:是否的问题
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因刚脱离论坛新人阶段不久,暂时不予处罚;若三日之后尚未修改标题,将扣除
  2点积分,以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,
  以避免在今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2007-1-10 at 08:43 PM ]
2 发表于 2007-01-11 02:10 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  先把主题帖子的标题改一下,这样不好。
3 发表于 2007-01-11 02:15 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  你说一下你写这个批处理最后要实现的什么目的吧,这样比较直接。
4 发表于 2007-01-11 02:18 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
@echo off
color 1f
title ip测试
:loop
set a=
set/p a=请输入你要测试的ip地址:
for %%i in ("%a%") do ping -n 1 %%i | find "Reply" >ip测试结果.txt
if %errorlevel%==1 goto loop
if %errorlevel%==0 goto for
:for
for /f "tokens=3 delims=: " %%a in (ip测试结果.txt) do @echo %%a >a.txt
pause>nul
这样好像对了,意思就是如果没有发现pinf通就断续叫我输入ip
如果通了就执行下面的for

[ Last edited by cmshun on 2007-1-10 at 01:33 PM ]
5 发表于 2007-01-11 02:24 ·  中国 广东 清远 联通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
我看他的意思,是用ping检测目标主机是否存在,如果存在,就显示ping结果(不过看他的代码是没有结果的了)

还有的是,不明白他为什么用那么多没用的for干吗?
6 发表于 2007-01-11 02:33 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
还有更简单的方法吗??
7 发表于 2007-01-11 02:36 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  根据你的目的写的,测试一下?

@echo off
:begin
cls&set ip=
set/p ip=请输入要测试的IP地址:
ping %ip% -n 1 >nul 2>nul && echo 成功了 || (echo 失败了&goto begin)
pause
set/p choose=是否继续?Y or N
if /i "%choose%"=="y" goto begin
exit/b 0
8 发表于 2007-01-11 02:41 ·  中国 四川 德阳 电信
初级用户
积分 85
发帖 36
注册 2007-01-02 09:25
19年会员
UID 75254
性别 男
来自 四川德阳
状态 离线
有点超,可以,能帮我rem一下吗,我有几句不是很懂,ping %ip% -n 1后面的>nul
>2nul什么意思
论坛跳转: