- 帖子
- 6
- 积分
- 18
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2018-2-6
|
本帖最后由 zydrawer 于 2018-2-6 19:52 编辑
先贴码:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (findfile.txt)do (
set /a num=0
set h1=%%a
echo %%a
for /f "tokens=1,2 delims= " %%i in (key.txt)do (
set h2=!h1:%%i=%%j!
if !h1! neq !h2! (
echo !h2! >>d.txt
)else (
if !num! == 0 (
echo !h2! >>d.txt
set /a num = num+1
))
))
set num=
pause
目的:查找关键字并将其替换为指定字符串
有两个文本文档.txt findfile.txt key.txt
key.txt是关键字文本有两列 之间是与tab键隔开,形式如下
第一列 第二列
11111 aaaaa
222222 bbbbbbbb
pppp cccccccc
。。。 。。。。
findfile.txt 文件是待查找文件 这个文件的内容中是含有key.txt文件中第一列的关键字
找到第一列的关键字后用第二列的字符串替换掉第一列的关键字
其他不变,然后将结果输出到另一个文件中
问题:
我写的bat处理命令虽将字符串替换成功,但是也将没有替换的行也重复输出了,
花了好久时间也没有找到原因,拜托各位前辈大神了 |
|