中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 12:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 有点难度的 问题哦!!!!查找替换 查看 669 回复 1
楼 主 有点难度的 问题哦!!!!查找替换 发表于 2008-02-16 00:21 ·  中国 辽宁 抚顺 联通
新手上路
积分 12
发帖 4
注册 2008-02-15 23:45
18年会员
UID 110746
性别 男
状态 离线
详细解释:
文本(1)内容如下

“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 “需要修改的地方”


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


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 ]
2 发表于 2008-02-16 15:14 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@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=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 ]
简单!简单!再简单!
论坛跳转: