中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » ping IP号和文件比较,又要读取另一个文件内容
作者:
标题: ping IP号和文件比较,又要读取另一个文件内容 上一主题 | 下一主题
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『楼 主』:  ping IP号和文件比较,又要读取另一个文件内容

谢谢啊

[ Last edited by lovehanbing520 on 2010-5-5 at 13:23 ]

2010-5-4 22:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 2 楼』:  



  Quote:
Originally posted by lovehanbing520 at 2010-5-4 22:26:
我要做的就是,
setlocal enabledelayedexpansion
@for /L %%i IN (1,1,119) do ping 192.100.110.%%i -n -1 -w 100
如果能ping通,就执行1.2.3.4。如果不能ping通,就接着向后ping
1。。。。就用这个IP号到D:\set\下找是否有,000%%i.frt或00%%i.frt 0%%i.frt 我这样写的原因是我这个目录下都是四位的数字号,

2。。。。如果D:\set\下有000%%i.frt或00%%i.frt或0%%i.frt。就反回执行ping,

3。。。。如果D:\set\下没有000%%i.frt或00%%i.frt或0%%i.frt,就到D:\ssi\set.ini的文件里找第一列%%i所对应的数字,就把相对应数字的后一列数字输出给e:"\user\set.txt~~

1,没看到你的第四个说明。
2,以你说的为示例:
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,119) do set i=000%%i&ping 192.100.110.%%i -n 1 -w 100 >nul 2>nul&&(if not exist "d:\set\!i:~-4!.frt" for /f "tokens=1,2" %%j in (d:\ssi\set.ini) do if %%i==%%j >>e:\user\set.txt echo.%%k)
[ Last edited by Hanyeguxing on 2010-5-5 at 10:08 ]



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-5-5 08:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 3 楼』:  

哦,二楼的不好意思,我多写了一个数字,只有三步`~

2010-5-5 09:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 4 楼』:  

那如果IP到两位数的时候 如何定义:00%%i   0%%i 这两个如何定义

2010-5-5 09:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 5 楼』:  

我测试了一下,不可用啊~~

2010-5-5 09:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Hanyeguxing
银牌会员

正在学习中的菜鸟...


积分 1039
发帖 897
注册 2009-3-1
来自 在地狱中仰望天堂
状态 离线
『第 6 楼』:  


@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,119) do (
set i=000%%i
ping 192.100.110.%%i -n 1 -w 100&&if not exist "d:\set\!i:~-4!.frt" for /f "tokens=1,2" %%j in (d:\ssi\set.ini) do if %%i==%%j >>e:\user\set.txt echo.%%k
)
pause
哪部分出问题了?



批处理之家 http://bbs.bathome.net/forum-5-1.html
2010-5-5 10:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 7 楼』:  

for /f "tokens=1,2" %%j in 中的tokens 能单独使用吗?结果就一执行,就暂停了~

2010-5-5 10:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 8 楼』:  

@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,119) do (
set i=000%%i
ping 192.100.110.%%i -n 1 -w 100&&if not exist "d:\set\!i:~-4!.frt" for /f "tokens=1,2" %%j in (d:\ssi\set.ini) do if %%i==%%j >>e:\user\set.txt echo.%%k
)
pause
调试过后,不知道有没有执行if not exist "d:\set\!i:~-4!.frt" for /f "tokens=1,2" %%j in (d:\ssi\set.ini) do if %%i==%%j >>e:\user\set.txt echo.%%k
的语句~~

2010-5-5 11:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lovehanbing520
新手上路





积分 18
发帖 18
注册 2010-5-3
状态 离线
『第 9 楼』:  

还是谢谢你啊~~我调试好了set i=000%%i改为:set i=000%%i.frt就OK了~

2010-5-5 11:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: