中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有点难度的 问题哦!!!!查找替换
作者:
标题: 有点难度的 问题哦!!!!查找替换 上一主题 | 下一主题
hx001
新手上路





积分 12
发帖 4
注册 2008-2-15
状态 离线
『楼 主』:  有点难度的 问题哦!!!!查找替换

详细解释: 文本(1)内容如下 [000CF1C702DC] “MAC地址” Enable=1 WksName=WKS001 IpAddr=192.168.1.101 Netmask=255.255.255.0 BootCard=192.168.1.199 BootDisk=SERVICE*0 RecovTime=0 GateWay= BootServer= RemoteBoot=1 “需要修改的地方” [000CF1C702DE] Enable=1 WksName=WKS002 IpAddr=192.168.1.102 Netmask=255.255.255.0 BootCard=192.168.1.199 BootDisk=SERVICE*0 RecovTime=0 GateWay= BootServer= RemoteBoot=1 [000CF1C702DF] Enable=1 WksName=WKS003 IpAddr=192.168.1.103 Netmask=255.255.255.0 BootCard=192.168.1.199 BootDisk=SERVICE*0 RecovTime=0 GateWay= BootServer= RemoteBoot=1 文本(2)内容如下 ---------- IPCONFIG.TXT Physical Address. . . . . . . . . : 00-0C-F1-C7-02-DC 说明:文本1的每一段 代表一个计算机 是有大括号内的MAC地址来区分的 文本2里面只包含 MAC地址 根据文本2的MAC地址 找到对应的 文本1的对应的段 并且把对应段的 最后一行 RemoteBoot=1 修改成 RemoteBoot=0 其他段的数据不受影响 修改完 保存 文本1 如果不存在对应的MAC地址,则CALL 另一BAT 希望达人 给点解! 我是DOS初学者 [ Last edited by hx001 on 2008-2-16 at 12:22 PM ]


2008-2-16 00:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 2 楼』:  

@echo off&setlocal enabledelayedexpansion for /f "tokens=2 delims=:" %%i in (2.txt) do set scr=%%i set scr=%scr:-=% set scr=%scr: =% for /f "tokens=*" %%i in (1.txt) do ( set var=%%i if "!var:~0,1!"=="[" set n= if "%%i"=="[%scr%]" set n=1&&set m=1 if !n! EQU 1 if "!var:~0,11!"=="RemoteBoot=" set var=RemoteBoot=0 >>3.txt echo.!var! ) if "%m%" == "" ( echo 不存在对应的MAC地址 DEL 3.txt pause GOTO:EOF ) move /y "3.txt" "1.txt" 2>NUL pause [ Last edited by terse on 2008-2-16 at 03:31 PM ]




简单!简单!再简单!
2008-2-16 15:14
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: