Batch file 如何使用batchfile将多个findstr命令的所有结果重定向到同一文件

Batch file 如何使用batchfile将多个findstr命令的所有结果重定向到同一文件,batch-file,Batch File,嗨,我正在使用findstr命令根据字符串过滤文件,并将输出重定向到单独的文件 findstr /C:"C=EODRevaluationProcess Temp table:TMP_EOD_REVAL_DATA" "C:\Users\Desktop\abc.txt" > C:\Users\Desktop\xyz.txt pause findstr /C:"sendSPPJMSMessage><Finished publishing [0] messages" "C:\User

嗨,我正在使用findstr命令根据字符串过滤文件,并将输出重定向到单独的文件

findstr /C:"C=EODRevaluationProcess  Temp table:TMP_EOD_REVAL_DATA" "C:\Users\Desktop\abc.txt" > C:\Users\Desktop\xyz.txt
pause
findstr /C:"sendSPPJMSMessage><Finished publishing [0] messages" "C:\Users\Desktop\abc.txt" > "C:\Users\Desktop\xyz.txt" 
pause
findstr /C:"POS_HOURLY_DATA : actualTable : POS_HOURLY_DATA_" "C:\Users\Desktop\abc.txt" > "C:\Users\Desktop\xyz.txt" 
findstr/C:“C=eodrevaluation过程临时表:TMP_EOD_REVAL_DATA”“C:\Users\Desktop\abc.txt”>C:\Users\Desktop\xyz.txt
暂停

findstr/C:“sendSPPJMSMessage>您正在使用
操作符将输出重定向到文件,如果文件不存在,该操作符将创建该文件并用输出替换其内容


如果要附加到文件,而不是替换其内容,可以使用
>
运算符。

没有理由对同一文件运行
FindStr
三次。将所有搜索字符串放在一个命令中也可以防止覆盖问题

@FindStr/I^
/C:“一些字符串”^
/C:“另一串”^
/C:“还有一根更大的绳子”^
“source.txt”>“output.txt”

您会注意到,我使用了插入符号(
^
)来转义行返回,以便您的字符串更易于维护(每个字符串都有自己的行)

更改为
>
,但第一个命令除外……请参阅原因。由于您正在覆盖中间结果,因此只保留最后一个输出,而不保留第一个输出。或者,您可以使用圆括号括住所有findstr,并使用单个重定向到文件。行的方式可能有所不同s已排序(可能是OP的问题,也可能不是OP的问题)@Stephan,我已经更改了示例字符串,希望能够减少任何特定的排序建议。