Board logo

标题: [文本处理] 【已解决】批处理根据文件1中某一列查找文本2对应列生成新文本 [打印本页]

作者: specter    时间: 2015-1-13 18:52     标题: 【已解决】批处理根据文件1中某一列查找文本2对应列生成新文本

本帖最后由 specter 于 2015-1-14 13:28 编辑

应该涉及到了文本查找和文本替换,文本合并。

文本1.txt:
  1. usamnyi----yy0098----amyij2@qq.com----q6w0e12
  2. admnjsy89----kay1976----k1y31086@163.com----ab1c123
  3. synkha1076----iy1tk12----jkat97819@126.com----qa0y1u19
复制代码


文本2.txt:
  1. amyij2@qq.com----kja1786
  2. k1y31086@163.com----fu6k197
  3. yiren10@163.com----q9715d
  4. famdh007@126.com----t9768as
  5. jkat97819@126.com----tu97510
复制代码


问题:
现在有文本1.txt和文本2.txt;
请问如何根据“文本1.txt”和“文本2.txt”得到“新文本.txt” ? 感觉表达能力不太行 不知道有人看懂需求了么?
也就是通过“文本1.txt”中的邮箱号去“文本2.txt”中查找邮箱号的新密码,最后生成一个新的文本,格式如“新文本.txt”。


新文本.txt:
  1. usamnyi----yy0098----amyij2@qq.com----kja1786
  2. admnjsy89----kay1976----k1y31086@163.com----fu6k197
  3. synkha1076----iy1tk12----jkat97819@126.com----tu97510
复制代码


目前我只会查询邮箱新密码,代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=3 delims=----" %%a in (文本1.txt) do (
  4.     set a=%%a
  5.     set a=!a: =!
  6.     echo !a!>>文本1_1.txt
  7. )
  8. for /f "tokens=1-2 delims=----" %%a in ('findstr /g:文本1_1.txt 文本2.txt') do echo %%a----%%b>>邮箱新密码.txt
  9. del /f /q 文本1_1.txt
复制代码



先谢谢各位指教!
作者: pcl_test    时间: 2015-1-13 19:34

回复 1# specter
  1. @echo off
  2. for /f "tokens=1-3 delims=----" %%a in (文本1.txt) do (
  3. for /f "tokens=2 delims=----" %%i in ('findstr /c:"%%c" 文本2.txt') do (
  4. echo %%a----%%b----%%c----%%i>>新文本.txt
  5. )
  6. )
  7. pause
复制代码





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