中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:文件内容的判断和字符替换的批处理
« [1] [2] »
作者:
标题: 请教:文件内容的判断和字符替换的批处理 上一主题 | 下一主题
yangzhiyi
中级用户





积分 261
发帖 123
注册 2006-6-6
状态 离线
『楼 主』:  请教:文件内容的判断和字符替换的批处理

先判断1.txt的文件内容,
1.如果有 Lost = 4 则在文件后面加上  测试不通过,
2.如果有 Reply from  则在文件后面加上  测试通过
3.如果是 Ping request could not find host www.*.com Please check the name and try again. 则在文件后面加上 无法解析目标主机名。
4.如果有 TTL Expired in Transit  则在文件后面加上 所需跃点的数目超过了“生存时间”(TTL)。
5.如果是 Destination Host Unreachable  则在文件后面加上 在发送主机或路由器上不存在目标主机的本地或远程路由。
_______________________________________________
如果有下面这样这样信息

Pinging 127.0.0.1 with 32 bytes of data:

Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Request timed out.
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 127.0.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
______________________________________________________
则替换成下面这样 。
______________________________________________________

正在用 32 字节数据 Ping 127.0.0.1:  (替换成这样也行 Pinging 127.0.0.1 正在用 32 字节数据发送)

应答来自 127.0.0.1: 字节=32 时间<1ms TTL=64
应答超时.
应答来自 127.0.0.1: 字节=32 时间<1ms TTL=64
应答来自 127.0.0.1: 字节=32 时间<1ms TTL=64
127.0.0.1 的 Ping 统计:              (替换成这样也行 Ping 统计为 127.0.0.1:)
    包: 已发送 = 4,已收到 = 4,已丢失 = 0 (0% 丢失)
以毫秒为单位的大约来回行程的时间:
    最小值 = 0ms, 最大值 = 0ms, 平均值 = 0ms
________________________________________________________
2000/XP等NT系统使用,使用系统的命令完成。
127.0.0.1 可能为其它 IP ,即还有2.txt、3.txt等文件 127.0.0.1可能为192.168.0.1或www.21cn.com等。
只是批处理中的一部分功能,可以使用 转跳、调用、生成等一切方式,但命令必须系统自带。
如果替换太麻烦,可先做判断的。ping 好像只会返回上面那5种结果。
先说声谢谢,可能星期一再看。

[ Last edited by yangzhiyi on 2006-10-29 at 08:12 AM ]

2006-10-29 06:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 2 楼』:  

这是不是太个性化了?哈哈……
而且全是中文的看得非常不习惯:)

还不如直接汉化Ping.exe~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-29 07:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  


  呵呵。。同意楼上的。。

  既然楼主已经知道了里面英文的意思,何必要改成中文的不可呢?而且看起来比较别扭。。  =_=


2006-10-29 07:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 4 楼』:  

偷偷的告诉大家,Vista里的Ping是被汉化过的

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-10-29 10:00





C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-29 07:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangzhiyi
中级用户





积分 261
发帖 123
注册 2006-6-6
状态 离线
『第 5 楼』:  

各位说得对,我就是想汉化ping 返回的信息,
我当然是明白那些意思,但是我做这个是给不会的人用的,所以还有麻烦各位帮帮忙了。

如果替换太麻烦,可先做判断的。ping 好像只会返回5种信息。

[ Last edited by yangzhiyi on 2006-10-29 at 08:06 AM ]

2006-10-29 07:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yangzhiyi
中级用户





积分 261
发帖 123
注册 2006-6-6
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by electronixtar at 2006-10-29 07:32:
偷偷的告诉大家,Vista里的Ping是被汉化过的

我的删掉了,发个汉化的ping.exe 上来用下。

2006-10-29 07:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 7 楼』:  

没想到还真有中文化的Ping~:)
给electronixtar加2分!



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-10-29 10:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  


  建议楼主在 Vista 里面把 ping 命令提取出来,放到NT的系统目录里,直接使用,不知道兼不兼容哈。


2006-10-29 11:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

早说过了嘛,提示 “不是有效的Win32程序”




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-10-29 12:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 10 楼』:  

@echo off
set for=于
set of=的
set with=用
set in=(以
set data:=数据
set milli-seconds:=毫秒为单位)
set Approximate=大约
set times=时间:
set round=来回
set trip=行程
set Reply=应答
set from=来自
set bytes=字节
set time=时间:
set timed=时间
set out=超过
set statistics=统计
set Packets:=包:
set Sent=已发送=
set Received=已收到=
set Lost=已丢失=
set loss)=丢失)
set Minimum=最小值=
set Maximum=最大值=
set Average=平均值=
set TTL=TTL=
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('ping www.21cn.com') do (
    set ret=
    for %%a in (%%i) do if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a
    if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo.
)
pause>nul

说明:以上代码未能完全满足楼主的要求,翻译的不是很准确。
还有楼主内容的判断,在此也不做判断了。

   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-10-31 02:42


2006-10-29 22:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 11 楼』:  

下面的代码是错误的!set后面不能有2个=不过后面的等可以写成^=
set Sent=已发送=
set Received=已收到=
set Lost=已丢失=
set loss)=丢失)
set Minimum=最小值=
set Maximum=最大值=
set Average=平均值=



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-10-29 23:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 12 楼』:  

它会默认第一个=的了
显示效果同楼上版主

2006-10-30 00:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 13 楼』:  

youxi01所说我已测试,成功。
欢迎youxi01,你还在批处理吧混吗?

2006-10-30 01:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 14 楼』:  

哈哈,是啊。
时常也逛逛这里啊,学到了不少的东西。

2006-10-30 02:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangzhiyi
中级用户





积分 261
发帖 123
注册 2006-6-6
状态 离线
『第 15 楼』:  



  Quote:
Originally posted by youxi01 at 2006-10-29 22:53:
@echo off
set for=于
set of=的
set with=用
set in=(以
set data:=数据
set milli-seconds:=毫秒为单位)
set Approximate=大约
set times=时间:
set round=来回
set trip=行程
s ...

谢谢,但是超时就不正确了,能否整句替换啊?
后面的也不明白什么意思能解释一下吗?我想要生成文件来使用

2006-10-31 02:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: