Board logo

标题: [文本处理] [已解决]批处理怎样从两个TXT 文档提取内容后写入新文本? [打印本页]

作者: Dana    时间: 2011-9-7 13:09     标题: [已解决]批处理怎样从两个TXT 文档提取内容后写入新文本?

从两个TXT 文档提取内容后写入新文本问题, 请大家帮忙看看, 谢谢!

有两个TXT文档, 待处理_1和待处理_2,  需要提取这两个文件中MeasureValue的值, 如 16[0:90000] , 只提取16
然后在 <<对应关系.txt>> 中寻找对应的项, 然后写入新的文本文件.

如:
00001  对应    [email]ANT_BTT-CAF@102.0dBM[/email]
00002  对应    [email]BNT_BTT-BAF@105.0dBM[/email]


新文件:

对应项和数值之间用"~"做分隔符.

START
[email]ANT_BTT-CAF@102.0dBM[/email]~16
[email]BNT_BTT-BAF@105.0dBM[/email]~41.06
[email]CNT_CTT-CAF@106.0dBM[/email]~-13.43
[email]ANT_BTT-CAF@109.0dBM[/email]~6281
[email]ANT_BTT-CAF@110.0dBM[/email]~5873
[email]ANT_BTT-CAF@121.0dBM[/email]~0.287
[email]ANT_BTT-CAF@129.0dBM[/email]~22.18
[email]ANT_BTT-CAF@131.0dBM[/email]~4.09
........
........
A_AC06_PBW~1155
A_AC07_PAL~64.9
A_AC08_CRT~0.3
END
作者: hfg1977    时间: 2011-9-8 14:55

  1. @echo off
  2. for /f "skip=1 tokens=1,2 usebackq delims=()[ " %%a in ("待处理_1.txt") do set "_No_%%a=%%a=%%b"
  3. for /f "skip=1 tokens=1,2 usebackq delims=()[ " %%a in ("待处理_2.txt") do set "_No_%%a=%%a=%%b"
  4. for /f "tokens=1,2 usebackq" %%a in ("对应关系.txt") do set "_Xo_%%a=%%b"
  5. for /f "tokens=2* delims==" %%a in ('set _No') do call echo %%_Xo_%%a%%~%%b
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2