中国DOS联盟论坛

中国DOS联盟

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

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

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




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

rem 利用for读取ping命令返回结果;
for /f "delims=" %%i in ('ping www.21cn.com') do (
   
rem 初始化ret(这里就是清空的意思);
set ret=

rem" if defined %%a"就是检查是否存在对应的变量%%a,如果存在就用变量值替换;(变量就是我们要翻译的单词,而变量值已经设置为对应的中文意思)
for %%a in (%%i) do if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a

rem 因为时间在这里不好翻译,所以直接采用这种替代的办法。
    if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo.
)

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





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

这两句还是不明白啊,能再说说吗?
if defined %%a (set ret=!ret!!%%a!) else set ret=!ret! %%a
if not "!ret!"=="" (set ret=!ret:time=时间! && echo !ret!) else echo.
能否整段替换吗,如
set Request timed out.=应答请求超时.
set TTL Expired in Transit= 所需跃点的数目超过了“生存时间”(TTL)
set Approximate round trip times in milli-seconds:=以毫秒为单位的大约来回行程的时间:
这样在命令行好像行,但在这批处理中好像不行,变量名不行有空格是吗,变量值能有空格的吗,如果能就先设置一个变量为英文的行吗,如
set imedout=Request timed out.
set imedout=应答请求超时.
因为还没理解所以还没法自己测试,有劳再看看。

[ Last edited by yangzhiyi on 2006-11-1 at 01:56 AM ]

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


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



论坛跳转: