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

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

本帖最后由 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文件当中

麻烦高手帮帮看一下,我看了好多的案例,还是整不出来要的要的这个结果

回复 4# pcl_test


    非常感谢。刚尝试用了>>实现。  原来只用一个>就可以了。省了删去原文件的步骤

TOP

TOP

本帖最后由 pcl_test 于 2016-12-20 19:50 编辑

回复 2# pcl_test


    谢谢版主。 我是要把这个结果输出在b.txt文本文件中(生成b.txt)。请问用哪个命令
是可以这样写吗>>b.txt

TOP

  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
复制代码

TOP

返回列表