[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求助批处理提取多个关键词合并

300个文件夹,按序号保存的,每个文件夹都包含一个TXT文件,txt文件里面有一段中文内容,而且 每个txt提取的内容都不同,文件内容(原生全棉材质 透气舒适 质感十足 宽松短袖T恤裁剪 凸显品牌格调   )  
类似这样,,比如我想提取这样的(全棉短袖T恤),我想提取的内容可以设定,提取后出来的词段 保存在另外的TXT文件,可以合并为一个TXT里,按行保存,
如果编号为某个数字的行的文件 夹,没有想要找的数据,就空出那行。

回复 1# zhx1231


请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
选少数几个文件夹和文件打包压缩,上传到网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

1.txt    圆领印花字母
定制YB原生全棉材质 透气舒适 质感十足 宽松短袖T恤裁剪 凸显品牌格调 采用克重纯棉制成 略带有弹力 呈现显瘦视觉效果 胸前印有泰国人气明星人像图案 彰显个性魅力 凸显品牌时尚感 耐看沉静的低明度海军蓝中性清爽 充满创意 品牌高级设计感拉满 单穿内搭都出彩时髦 定制面辅料  


  2.txt     植绒印花字母
全棉材质 透气舒适 质感十足 修身T恤裁剪 凸显品牌格调 采用克重纯棉制成 略带有弹力 呈现显瘦视觉效果 立体松紧包边于领口袖口 保持基调协调统一 胸前标志性花体字母徽标 搭配红唇印点缀 品牌自带的简约时尚感立现 白色清爽 绿色亮眼 随心打造个性风格  
3.txt
透气舒适 质感十足 修身T恤裁剪 凸显品牌格调 采用克重纯棉制成 略带有弹力 呈现显瘦视觉效果 立体松紧包边于领口袖口 保持基调协调统一 胸前标志性花体字母徽标 搭配红唇印点缀 品牌自带的简约时尚感立现 白色清爽 绿色亮眼 随心打造个性风格
4.txt 复古做旧洗水反穿牛仔裤 高织高密斜纹面料 复古做旧水洗对色 柔软亲肤材质 质感一流
个性反穿设计 上身时髦又高级 宽松版型灰常能遮肉肉 能够巧妙的遮住胯部多余的赘肉 显瘦显腿长 百搭利器 不挑人穿 任何身形

希望变成这样:可以提取,每个txt自己想提取的词,这样排列出来
1,短袖T恤
2,修身T恤
3,植绒印花字母
4,旧洗水反穿牛仔裤

TOP

感谢大佬。

TOP

回复 3# zhx1231


    请把txt文件打包上传到网盘,而不是直接发内容。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 aloha20200628 于 2025-2-7 17:05 编辑

回复 3# zhx1231

以下代码假设包含300个子目录的根目录是 d:\300(可被楼主自定义),该目录中已存在一个名为 提取字段列表.lst 的文件(须由楼主自定义),其中每行内容格式为 文件名 提取字段 (中间用英文空格分隔),举例如下
1 圆领印花字母
2 植绒印花字母
3 绿色亮眼
...
代码存为 test.bat 运行,须与 提取字段列表.lst 文件均在根目录,运行结果生成楼主要求的文件 提取结果列表.lst(文件名可被楼主自定义)
  1. @echo off &cd /d "d:\300"
  2. (for /f "usebackq tokens=1* delims=, " %%a in ("提取字段列表.lst") do for /r %%F in ("%%a.txt") do (
  3.    set/p v=<"%%F" &setlocal enabledelayedexpansion
  4.    if "!v!"=="!v:%%b=!" (echo,%%a) else echo,%%a,%%b
  5.    endlocal))>"提取结果列表.lst"
  6. pause&exit/b
复制代码

TOP

回复 6# aloha20200628

谢谢您的回答 ,我刚试了一下,发现运行不了,不知道 是我哪里出错了。

TOP

回复 6# aloha20200628


还有一个问题我补充一下,每个 文档,里面, 我只想提取第一次出现的关键字。大概有这些(连衣裙 牛仔长裤 休闲裤 外套 短袖 长裤 套装 牛仔长裤 衬衣 牛仔裤 大衣外套 牛仔衬衣 长款半裙 针织短袖 套装 打底衫 半裙 v领针织背心 T恤 卫衣 开衫 牛仔长裤 卫衣 牛仔裤 长袖)

麻烦您看看

TOP

本帖最后由 aloha20200628 于 2025-2-7 22:34 编辑

回复 8# zhx1231

一。需要看一下你定义的 ‘提取字段列表.lst’ 文件内容
二。需要知道你的 *.txt 文件格式,是否每个文件只有一行?文件编码是ansi编码还是utf-8编码?
三。6楼代码假设被处理的 *.txt 文件编码都是ansi编码,每个文件只有一行数据;假设 ‘提取字段列表.lst’ 文件编码也是ansi编码

TOP

表示没看懂

最好还是传三四个文件到网盘

QQ 20147578

TOP

电脑么??是的话什么系统??

TOP

本帖最后由 wanghan519 于 2025-2-8 21:14 编辑

感觉好像grep命令的效果
  1. grep -orEf key.lst --include='*.txt' .
复制代码


可以修改key.lst文件.{6}(连衣裙|牛仔长裤|休闲裤|外套|短袖|长裤|套装|牛仔长裤|衬衣|牛仔裤|大衣外套|牛仔衬衣|长款半裙|针织短袖|套装|打底衫|半裙|v领针织背心|T恤|卫衣|开衫|牛仔长裤|卫衣|牛仔裤|长袖)
大概就是连带匹配项目之前的6个字

TOP

返回列表