中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 21:06
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]文档内查到替换某些名称,批量的。。。
楼 主 [已结]文档内查到替换某些名称,批量的。。。 发表于 2009-06-24 05:59 ·  中国 湖北 武汉 电信
新手上路
积分 6
发帖 5
注册 2009-05-09 21:31
UID 144738
性别 男
状态 离线
小弟碰到一个问题,目前所学感觉完成不了,所以上来求助。。
比如文档内有N多个游戏目录的名称和一些其他的数据,别一文档内有所有游戏名称和对应的游戏目录名称,需要把这些游戏目录名称替换成游戏名称,文档格式随意,有没哪位大哥指点一下,把一个替换成所有,或所有的替换成一个都好说点,求学中。。。。

[ Last edited by angellc777 on 2009-6-25 at 01:29 ]
2 发表于 2009-06-24 06:27 ·  中国 广东 深圳 电信
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
UID 139249
性别 男
状态 离线
没明白你的意思。 一个是游戏目录? 一个是 文本?
最好举个例子出来。
3 发表于 2009-06-24 07:41 ·  中国 湖北 武汉 电信
新手上路
积分 6
发帖 5
注册 2009-05-09 21:31
UID 144738
性别 男
状态 离线
例如a.txt里有很多目录名称,b.txt里有所有的目录名称和游戏名称。用a.txt里的目录名称在b.txt里查找,找到后将a.txt里的目录名称替换为游戏名称后面的游戏名称。
实例
a.txt里有游戏目录,
XyOnline
XYOnline3
b.txt里如下
大话西游,XyOnline
大航海时代,GVO
大话西游3,XYOnline3
需要的结果是
a.txt
大话西游
大话西游3
4 发表于 2009-06-24 08:58 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=," %%i in (b.txt) do (
set han=%%i & set ye=%%j
for /f "delims=" %%k in (a.txt) do (
set gu=%%k
if /i "!gu!" == "!ye!" echo !han! >>xing.txt
)
)
del a.txt /f /q
ren xing.txt a.txt


说明:“delims=,”中 = 后的 , 为分隔符,即“大话西游3,XYOnline3”中间那个符号。。。
说明:文件越大,需要处理的时间越长。。。
说明:批处理没有考虑a.txt 和b.txt中含有其他内容的情况

[ Last edited by Hanyeguxing on 2009-6-24 at 09:09 ]
5 发表于 2009-06-25 01:28 ·  中国 湖北 武汉 电信
新手上路
积分 6
发帖 5
注册 2009-05-09 21:31
UID 144738
性别 男
状态 离线
万分感谢,可以用,现在看着感觉很简单一样,要我自己写那就这难呢,先谢谢了,去消化下。
论坛跳转: