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

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


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



论坛跳转: