楼 主
[已结]提取一行中的两个变量,然后查找文本...
发表于 2009-09-20 09:47 · 中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
不懂得怎样同时提取两个变量,所以来劳驾各位虾虾.^=~
思路:
想逐行提取A文本的条件字符串,如第一行提取"----"前的数字"520"和"----"后的"我爱你"这两个变量,然后搜索B文本带520尾的行,最后再将这行加变量"我爱你"写入C文本.
A.TXT:
520----我爱你
521----我爱你
168----一路发
530----我想你
B.TXT:
891204168
901104478
850205520
841203183
870110521
800129530
想得到的结果(C.TXT):
891204168 一路发
850205520 我爱你
870110521 我爱你
800129530 我想你
[ Last edited by ka56 on 2009-9-20 at 10:28 ]
第 2 楼
发表于 2009-09-20 10:06 · 中国 湖北 襄阳 老河口市 电信
初级用户
★
积分 175
发帖 45
注册 2007-08-04 16:16
19年会员
UID 94640
性别 男
状态 离线
请测试
@echo off
for /f "tokens=1* delims=----" %%i in (a.txt) do (
for /f %%a in ('findstr "%%i" b.txt') do (echo.%%a %%j)
)
pause
[
Last edited by q8249014 on 2010-1-21 at 17:45 ]
第 3 楼
发表于 2009-09-20 10:24 · 中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
Originally posted by q8249014 at 2009-9-20 10:06:
请测试
@echo off&setlocal enabledelayedexpansion
(for /f "tokens=1* delims=----" %%i in (a.txt) do (
set var="%%i"
for /f %%a in ('findstr "!var! ...
感谢您抽空指教,测试通过,我还有两点不懂,!var! 和%var%作用一样吗?"我爱你"是怎样传到%%j的 ?

第 4 楼
发表于 2009-09-20 10:28 · 中国 湖北 襄阳 老河口市 电信
初级用户
★
积分 175
发帖 45
注册 2007-08-04 16:16
19年会员
UID 94640
性别 男
状态 离线
这点一两句说不清楚 你可以去论坛搜索"延迟变量" 看过你就明白了
"?"我爱你"是怎样传到%%j的 ?" 这点儿你只要看下for命令的帮助就可以了
第 5 楼
发表于 2009-09-20 10:33 · 中国 福建 泉州 电信
中级用户
★★
积分 234
发帖 129
注册 2006-11-28 09:21
19年会员
UID 71989
性别 男
状态 离线
论坛跳转: