中国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 楼』:  

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 ]




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
哪部分出问题了?




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
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: