Vbscript Batch/vbs读取文本文件

Vbscript Batch/vbs读取文本文件,vbscript,batch-file,wsh,Vbscript,Batch File,Wsh,我想编写一个批处理脚本/vbs,它应该逐行读取文本文件并搜索关键字。如果找到关键字,它应该重定向到输出文件 示例日志如下所示: 2000年9月1日星期二 下午6:53 --------C:\数据-------- C:\Data\2009 C:\Data\2010 C:\Data\2011 C:\Data\Filename.txt C:\Data\Fileusage C:\Data\Guidline.xml C:\Data\2009\12 C:\Data\2009\12\01\667e33999.

我想编写一个批处理脚本/vbs,它应该逐行读取文本文件并搜索关键字。如果找到关键字,它应该重定向到输出文件

示例日志如下所示:

2000年9月1日星期二 下午6:53
--------C:\数据--------
C:\Data\2009
C:\Data\2010
C:\Data\2011
C:\Data\Filename.txt
C:\Data\Fileusage
C:\Data\Guidline.xml
C:\Data\2009\12
C:\Data\2009\12\01\667e33999.txt
C:\Data\2009\12\01\667e4545499.xml
C:\Data\2009\12\09\667dfder999.pdf
C:\Data\2009\12\09\667e332324.pdf
C:\Data\2009\12\09\867fdfe2323.pdf
C:\Resource\Findings\233.txt
C:\Resource\Findings\234.txt
C:\Resource\Findings\235.txt
C:\Resource\Findings\236.txt
C:\Resource\Findings\237.txt
C:\Resource\Findings\238.txt
C:\Resource\Findings\last\433.txt
C:\Resource\Findings\last\239.txt
C:\Resource\Findings\last\890.txt
C:\Resource\Findings\last\121.txt
C:\Resource\Findings\last\009.txt
C:\Resource\Findings\last\999.txt
列出的文件总数:
12个文件7234336字节
0个目录(s)3413392345个可用字节

基本上,我想捕获以C:\Data\Year\Month和C:\Resource\Findings\lated开头的任何行

输出如下所示

C:\Data\2009\12\01\667e33999.txt
C:\Data\2009\12\01\667e4545499.xml
C:\Data\2009\12\09\667dfder999.pdf
C:\Data\2009\12\09\667e332324.pdf
C:\Data\2009\12\09\867fdfe2323.pdf
C:\Resource\Findings\last\433.txt
C:\Resource\Findings\last\239.txt
C:\Resource\Findings\last\890.txt
C:\Resource\Findings\last\121.txt
C:\Resource\Findings\last\009.txt
C:\Resource\Findings\last\999.txt


谁能帮我一把

您可以使用
findstr

findstr /b /r "C:\\Resource\\Findings\\Lasted\\ C:\\Data\\[0-9][0-9][0-9][0-9]\\[0-9][0-9]\\." data.dump

findstr
用于从文件中筛选行,这就是我们在这里所做的。首先,我们启用正则表达式与
/r
匹配。不要被欺骗,这些都是非常非常小的正则表达式,时不时会被破坏,所以要把它们弄对是很难的<代码>/b用于匹配行首。然后是一个以空格分隔的要查找的内容列表,在本例中,可以是
C:\Resource\Findings\last\
C:\Data\Year\Month
,其中年份有四位,月份有两位。

您当前的代码是什么?阅读
for/?
cmd/?
set/?
或者看看@jeb:这比这简单多了。我也想到了findstr,但我认为它不能在regEx基本模式下搜索两个不同的字符串。下面是我的批处理脚本。。有人能帮我修吗@echo off>result&setlocal enabledelayedexpansion for/f“tokens=*delims=“%%i in('dir/b file.txt')do(findstr/b/r”C:\\Resource\\Findings\\last\\C:\\Data\[0-9][0-9][0-9][0-9]\[0-9][0-9][0-9]\.<%i>>result.txt)@用户:以正常方式提问(请包括更多信息)。对随机答案的随机评论通常会被忽略(我现在也会这样做)。