Windows Findstr输出格式

Windows Findstr输出格式,windows,batch-file,cmd,findstr,Windows,Batch File,Cmd,Findstr,我有很多日志文件,我想从中提取特定文本,并使用FINDSTR命令将其复制到新文件 例如:我有一个名为1.log的日志文件,我需要提取日志文件中以N66666行开头的所有数字,如下所示: 22220473400664->473400664 01210260222->01210260222->N8888801210260222 01278448231->01278448231->N6666601278448231 01286799109->01286799

我有很多日志文件,我想从中提取特定文本,并使用FINDSTR命令将其复制到新文件

例如:我有一个名为1.log的日志文件,我需要提取日志文件中以N66666行开头的所有数字,如下所示:

22220473400664->473400664
 01210260222->01210260222->N8888801210260222 
 01278448231->01278448231->N6666601278448231
 01286799109->01286799109->N8888801286799109
我试过:

findstr /s /i "\<N66666.*" *.* > results.txt
但结果是将从N6666开始的整行代码复制到results.txt,我只需要将这些数字复制到results.txt。

@ECHO OFF SETLOCAL 设置targetstring=N66666 对于'findstr/s/i%targetstring%.*.*.*'中的/f令牌=3delims=>%%a,执行ECHO%%a 后藤:EOF 这可能是有用的-您所提供的信息非常少

它依赖于所需数据位于所需行中第二个>字符后的字符串中;我没有将结果重定向到文件,因为这是一个微不足道的修改

根据进一步的资料:

@回音 SETLOCAL ENABLEDELAYEDEXPANSION 设置targetstring=N66666 设置/a ltargetstring=0 设置输出=%targetstring% :dtslp 设置/a ltargetstring+=1 设置输出=%output:~1% 如果定义了输出,则转到dtslp 对于/f delims=%%a,在'findstr/s/i%targetstring%.*.*'中执行 设置行=%%a 设置行=!行:>=!
设置行=!行:您好,谢谢您的回复,我有一个文件夹,其中包含许多日志文件,我需要从所有这些日志文件中读取以N66666开头的所有数字,并从中剪切N66666,然后将结果重定向到输出文件,在上面的示例中,它应该获取N6666601278448231和前导N66666的剪切,并将结果作为01278448231放入输出文件中,如果它太复杂,无法切断前导N66666,则可以将结果作为N6666601278448231输入输出文件,我可以稍后手动将其切断。另外,N6666601278448231之后可能会有文本,因此在提取所需文本时,我不需要在行尾提取,并且该数字是长度不固定的,因此应该开始提取从N666666中提取并在第一个空格处停止。