批处理实现以字符串/关键字删选文档内容

批处理实现以字符串/关键字删选文档内容


在这将介绍一种方式去删选文档内容,以取到我们需要的内容,其实就是用到find方式:

::通过关键字筛选文档内容
@echo off
find /n "clayTest" %1 > A.txt
pause

其中ClayTest便是关键字,以此关键字会将处理文档中含有ClayTest行的全部导到A.txt中。

测试:
1、首先新建一个find_str.bat写下以上的内容;
2、新建一个B.txt,写入内容:
This is a Test
This is line two
Line three ClayTest
This is line four
This is line ClayTest
This is last

3、将find_str.bat和B.txt放到同一目录下,并打开cmd进入到该文件夹;
4、将find_str.bat作为执行命令,将B.txt作为参数,执行:find_str.bat B.txt,回车;


然后在同目录下会生成一个A.txt文件夹,里面就是删选出来的内容,其中包括在源文件下该行的行数:



其中,需要学习的是有以下的参数可实现不同的功能:

参数:
 /V 显示所有未包含指定字符串的行。

/C 仅显示包含字符串的行数。

/N 显示行号。

/I 搜索字符串时忽略大小写。

/OFF[LINE] 不要跳过具有脱机属性集的文件。

当文件中包含要查找的字符串时,将返回这个字符串所在位置的整行内容。默认情况下是区分大小写的,若想要不区分大小写就是用参数 /i ;

有时候,我们的需求并不是为了查找到某个字符串,而是要检测哪些行不含有特定的字符串,这个时候,可以使用开关/v,用法为:find /v "ClayTest" >A.txt,它表示查找那些不含字符串ClayTest的行;

当然,上面的实现是将处理文件作为参数在执行的时候加载的,我们也可以在代码中去加载。比如说find "ClayTest" B.txt >A.txt 代码实现将处理文件B.txt(同目录)加载进来;

还有一点是find 支持查找通配符文件。如 find "1" *.txt。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章