中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-17 02:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]求文本替换的写法 查看 907 回复 2
楼 主 [求助]求文本替换的写法 发表于 2010-12-05 22:13 ·  中国 浙江 杭州 电信
新手上路
积分 2
发帖 2
注册 2010-08-31 10:24
UID 173306
性别 男
状态 离线
我要替换INF文件里的一个IP。如果发现是192.168.20.26刚把它替换成192.168.20.28.如果发现是192.168.20.28,则把他替换成192.168.20.26.就在原文件上替换。该怎么写,请教各位高人,我是DOS菜鸟。
2 发表于 2010-12-06 08:29 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
@echo off&setlocal enabledelayedexpansion
set a=192.168.20.2
set v=1.inf
findstr "%a%6" "%v%">nul&&set b=6
findstr "%a%8" "%v%">nul&&set b=8
(if defined b for /f "usebackq eol=€ tokens=1* delims==" %%a in ("%v%") do if "%%b"=="" (echo %%a) else (
set c=%%b
if %b%==6 (set c=!c:%a%6=%a%8!) else set c=!c:%a%8=%a%6!
echo %%a=!c!
))>temp.txt
del /q "%v%"
ren temp.txt %v%


[ Last edited by Hanyeguxing on 2010-12-6 at 08:35 ]
3 发表于 2010-12-06 11:34 ·  中国 浙江 杭州 电信
新手上路
积分 2
发帖 2
注册 2010-08-31 10:24
UID 173306
性别 男
状态 离线
多谢,果然可以实现....
论坛跳转: