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

[文件操作] 批处理如何实现根据剪贴板里的字符串查找出指定文本里含有该字符串的行并提取特定内容

[复制链接]
发表于 2016-12-20 11:50:57 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-12-20 19:01 编辑

问怎么用批处理(.bat)脚本查找文本(.txt)中特定的字符?并且结果输出到一个新的.txt里面?

我有一个txt文件(a.txt),想查找里面的内容,并且输出查找到的内容到一个新的txt里面(b.txt)。例如:
num_a=1234
num_b=4567
num_c=7890
num_d=1470
num_e=2581
num_f=3692
num_g=2581
num_h=3692

我想查找(根据剪切板里的内容,比如剪切板已复制了“num_d”),查找a.txt含有“num_d”这个关键字,=后面的四位数字结果(如果没有则输出文本"没有该字段",见下文)
输出的结果是(b.txt里的内容)
1470

如果比如剪切板已复制了“num_z”,则因为在a.txt找不相相应内容,则输出文本"没有该字段"
输出的结果是(b.txt里的内容)
没有该字段

输出到b.txt文件当中

麻烦高手帮帮看一下,我看了好多的案例,还是整不出来要的要的这个结果
发表于 2016-12-20 18:59:14 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%a in ('mshta "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();"') do set "str=%%a"
  3. for /f "tokens=1* delims==" %%a in ('findstr /l "%str%" "a.txt" 2^>nul') do set "result=%%b"
  4. if defined result (echo;%result%) else echo;没有该字段
  5. pause
复制代码
 楼主| 发表于 2016-12-20 19:25:26 | 显示全部楼层
本帖最后由 pcl_test 于 2016-12-20 19:50 编辑

回复 2# pcl_test


    谢谢版主。 我是要把这个结果输出在b.txt文本文件中(生成b.txt)。请问用哪个命令
是可以这样写吗>>b.txt
发表于 2016-12-20 19:30:44 | 显示全部楼层
 楼主| 发表于 2016-12-20 19:35:09 | 显示全部楼层
回复 4# pcl_test


    非常感谢。刚尝试用了>>实现。  原来只用一个>就可以了。省了删去原文件的步骤
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 12:28 , Processed in 0.018676 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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