Windows 根据命令行上的匹配字符串输出整行

Windows 根据命令行上的匹配字符串输出整行,windows,string,command-line,Windows,String,Command Line,我有一个如下所示的输入文件: application database variable value +-------------------+-------------------+-------------------+------------------- O_PrTot Rptg ClosedMonthsFY13 Jan:Dec

我有一个如下所示的输入文件:

 application         database            variable            value              
+-------------------+-------------------+-------------------+-------------------
 O_PrTot             Rptg                ClosedMonthsFY13    Jan:Dec            
 O_PrTot             Rptg                OMNICORE_Year       FY14               
 O_PrTot             Rptg                ClosedMonthsFY14    Jan:Oct         
我需要找到2014年1月至10月的ClosedMonthsFY14的值,并将此输出放入 转换为.txt文件


谢谢

根据您的标题,根据匹配的字符串和您的注释输出整行内容,并将此输出放入.txt文件,这样应该可以工作。我们使用这个命令,根据我链接的TechNet文章,它使用正则表达式搜索文件中的文本模式。在这种情况下,我们并不特别需要正则表达式,但它仍然可以工作:

FINDSTR /I "ClosedMonthsFY14" C:\path\to\input.txt > C:\path\to\output.txt
开关/I意味着使搜索不区分大小写。

@ECHO OFF SETLOCAL 对于q27307586.txt中的/f令牌=3,4%%a,如果/i%%a==ClosedMonthsFY14设置未结=%%b 回显%outstring% 对于'findstr/i ClosedMonthsFY14 q27307586.txt'中的/f delims=%%a,请设置outstring2=%%a 回音%2:~61% 后藤:EOF 我使用了一个名为q27307586.txt的文件,其中包含测试数据

这里有两种不同的方法。第一种方法依赖于这样的假设,即每列只包含一个字符串,该字符串不包含空格或逗号等分隔符

第二种方法使用列位置;跳过选定行中的61个字符,其余字符分配给变量

要将变量实际输出到文件中,只需将>filename附加到相应的回显行

请注意,第二种方法将保留行上的尾随空格,这可能不适合您的目的

每种情况下的/i开关都使字符串匹配不区分大小写

您的问题标题说明了整行内容,但您的叙述说您需要找到值

Hi@amanda,欢迎光临!你试过什么了吗?请包括你的尝试,更具体地说,在哪里事情发生了错误的方向。