中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 13:01
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 有点难度的 问题哦!!!!查找替换
可打印版本  670 / 1
第1楼 hx001 发表于 2008-02-16 00:21
新手上路 发帖 4 积分 12
有点难度的 问题哦!!!!查找替换
详细解释:
文本(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楼 terse 发表于 2008-02-16 15:14
银牌会员 发帖 946 积分 2,404
@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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023