找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 30396|回复: 11

[文本处理] [已解决]根据一个文本中列出的字符串查找/提取另一个文本行首含有这些字符串的行

[复制链接]
发表于 2015-9-18 10:48:19 | 显示全部楼层 |阅读模式
有txt文本A,内容格式如图

txt文本B,内容格式如图

根据B中的内容查询A中的内容,如果有匹配则导出对应A文本中的该行,并保存为txt文件C

评分

参与人数 1PB +2 收起 理由
pcl_test + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-9-18 10:55:08 | 显示全部楼层
本帖最后由 flyinnet9 于 2015-9-18 12:44 编辑

--------------
pcl大神已改,我也改改
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p n1=请拖入文件A,然后回车确认:
  4. set /p n2=请拖入文件B,然后回车确认:
  5. for /f "tokens=1* delims=-" %%a in (%n1%) do set #%%a=%%b
  6. for /f %%c in (%n2%) do echo %%c----!#%%c!>>c.txt
复制代码
 楼主| 发表于 2015-9-18 11:21:15 | 显示全部楼层
回复 2# flyinnet9


    谢谢,不好意思我表述有些错误
A文件内容是这样的

导出的时候,能不能不限制段数,只要是该行的内容就导出,不管其中有多少个 “----”
还有就是能不能不限制两个文件的的名字,比如直接将两个文件拖拽到图标上就自动执行
发表于 2015-9-18 11:28:53 | 显示全部楼层
回复 3# shimuren


    已改
 楼主| 发表于 2015-9-18 11:36:50 | 显示全部楼层
回复 4# flyinnet9


    嗯谢谢,
能不能不限制文件名呢?
发表于 2015-9-18 11:42:12 | 显示全部楼层
回复 3# shimuren

拖曳文件到图标执行在你这个情况并不适合,因为选定文件时的顺序会导致不同的结果,除非分两次拖曳
 楼主| 发表于 2015-9-18 11:50:41 | 显示全部楼层
回复 6# pcl_test


    分两次托拽也行 主要处理的这个数据太乱 ,改变名称容易忘记是哪类数据。
保存的C文件,直接用A文件名加后缀导出。
谢谢
发表于 2015-9-18 12:28:40 | 显示全部楼层
回复 7# shimuren
先拖拽A文件到批处理文件图标,再按提示操作
  1. @echo off
  2. echo;A文件%~1
  3. set /p b=拖入B文件并按回车键
  4. findstr /g:"%b%" "%~1">"结果_%~n1.txt"
  5. ping /n 2 0 >nul
复制代码
 楼主| 发表于 2015-9-18 13:45:53 | 显示全部楼层
回复 8# pcl_test

我修改成分两步拖入,但导出文件加后缀怎么实现呢?
  1. @echo off
  2. set /p a=拖入主文件文件并按回车键:
  3. set /p b=拖入对比文件文件并按回车键:
  4. findstr /g:"%b%" "%a%">"%a%.txt"
  5. ping /n 2 0 >nul
复制代码
发表于 2015-9-18 13:50:14 | 显示全部楼层
  1. @echo off
  2. set /p a=拖入主文件文件并按回车键:
  3. set /p b=拖入对比文件文件并按回车键:
  4. for /f "delims=" %%i in ("%a%") do set p=%%~ni
  5. findstr /g:"%b%" "%a%">"result_%p%.txt"
  6. ping /n 2 0 >nul
复制代码
回复 9# shimuren
发表于 2015-9-18 13:50:27 | 显示全部楼层
回复 9# shimuren

8楼有何不妥?
 楼主| 发表于 2015-9-18 14:00:19 | 显示全部楼层
回复 11# pcl_test


    没  只是操作习惯问题,这阵子记得要先拖入a到图标上是第一步,过阵子就不记得了
改了下,思维就会按照提示去操作

谢谢大哥了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 15:57 , Processed in 0.020473 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表