问题标签 [findstr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
252 浏览

batch-file - Shell 输出重定向到多个管道

在 cmd.exe 中,某个命令会产生以下形式的输出:

我想将其格式化为生成:

我怎么做?

我的猜测是“&”(并行命令)、“|”的组合 可以使用(管道)、“findstr”和另一个命令来剪切一行的相关部分。

0 投票
2 回答
6294 浏览

regex - 在 FINDSTR 中使用子模式

我必须检查存储在变量中的字符串的有效性,我不能使用外部 CLI 实用程序(grep、awk 等),所以我选择了 FINDSTR。该字符串具有以下格式(在正则表达式中):

我不知道如何检查子模式(|。“*”)。目前我的代码是:

问候。

0 投票
2 回答
479 浏览

parsing - 批处理文件解析并返回结果

我必须使用批处理文件并且必须解析其中一个参数。结果应该转到批处理文件中的命令之一。

所以批处理文件的参数之一是这样的:

Lorem [ABC-1234] ipsum

批处理文件中的命令之一需要上述参数中的 ABC-1234 值。正则表达式的使用会非常好,FINDSTR 会找到它,但如果找到模式,它会返回它的输入。

echo Lorem [ABC-1234] ipsum | findstr /R "\[[A-Z]*\-[0-9]*\]"

这将返回:

echo Lorem [ABC-1234] ipsum

但我想得到

ABC-1234

0 投票
2 回答
10303 浏览

windows - Windows Batch:搜索文件中的所有文件,如果行包含“apple”或“tomato”,则回显它

我正在尝试编写一个简单的批处理,它将遍历文件中的每一行,如果该行包含“apples”或“tomato”,则输出该行。

我有这段代码可以找到一个字符串并输出它,但我无法在同一批次中获得第二个。我还希望它在找到它们时回显这些线条。

它需要找到包含“apples”或“tomato”的行,我可以使用我需要的两行轻松运行上面的代码,但我需要将这些行相互输出。

例如我需要:

不是:

然后

提前致谢。

0 投票
1 回答
4493 浏览

string - 使用带有正则表达式的 findstr 来搜索字符串的各个部分

我创建了循环遍历每一行的代码,files.txt并识别文件是还是car,并将此信息存储到. 这是通过使用命令并搜索 和 的列表来完成的。本质上代码的设计方式,它会取第一行,看看它是否可以找到字符串(如果是输出到),如果不是,它将搜索字符串(如果找到字符串,则输出to ),如果在 car.txt 或 中找不到该字符串,则将文本输出到boatneitherSendType.txtfindstrboat.txtcar.txtfiles.txtcar.txtcarSendType.txtboat.txtboat.txtboatSendType.txtboat.txtneitherSendType.txt

现在代码搜索整个字符串行。每个字符串都类似于11111_2222-22_2010-09-09_10-24-20.zip11111=ID、2222-22=model、2010-09-09=date、10-24-20=transaction ID)。

我想替换我当前的 findstr 行,它搜索整行,以搜索除日期部分之外的整个字符串。我在下面附上了我的代码以供参考,以及正在输入的文件的一些示例。提前致谢!





期望的输出:


更新 10/15 下午 3:00 目前使用 dbenham 的代码和解析技术的方法如下:

0 投票
1 回答
1134 浏览

for-loop - 从Windows批处理中的二进制文件中提取RegExp字符串

一个小问题一直困扰着我几天。我正在尝试从 *.exe 二进制文件中提取我可以用正则表达式定义的字符串,例如“1.01.01.00T123”这样的文本到环境变量中以供进一步使用。
我找到了字符串

现在它是我的小一点二进制字符串,可能是 200 字节。然后我试图在“for / f”中使用 findstr 的输出,但是我应该为二进制文件使用什么分隔符,没有任何保证。甚至点和空白也可以来来去去。
就像是:

它只工作了一半——第一个太长了,最后一部分“xxTxxx”不是这个定义的标记。此外,点也可能出现在二进制文件中,而不仅仅是在我的字符串中。
我想到了通过始终剪切第一个字节来缩短循环中的 outp.bin 之类的方法,然后检查我的字符串是否位于 outp.bin 的开头。但是还没有找到方法来做到这一点。可能吗?
有没有什么办法,将我的正则表达式结果复制到一个变量中?
我希望错过了标准命令外壳中正则表达式的一些神奇命令。

0 投票
1 回答
7853 浏览

batch-file - 一种有两个 findstr (和管道输出)

我有 50 个文件,名称如下:CPUNAME_installer.txt每个文件的内容如下:

...等等,数百行。我想检查是否有代码为 11724、1034 或 1487 的行,如果为真,则将整行通过管道传输到另一个文件夹中具有相同名称的另一个文本文件。

现在我有这个工作解决方案:

...但它需要很多时间,因为它为每个文件执行六个命令。

是否可以通过减少每个文件(或类似文件)的命令数量来改善这一点?

0 投票
0 回答
465 浏览

file - findstr 找到后打开文件

我正在为我的命令行类编写批处理。在这一点上很简单。所以它在大多数情况下运行良好,直到它结束。我不知道我是否正确使用它。在findstr命令之后,我有一个if exist打开文件,但即使findstr找到一个文件它仍然不会打开它。

0 投票
2 回答
4146 浏览

batch-file - 带引号的批量 findstr

我正在尝试弄清楚如何修改此脚本以进行精确搜索。我需要搜索一个字符串(例如:“123.12”——带引号)

这是我到目前为止的脚本:

这是我的文件 data.txt

“123.123” “345.345” “794.922”

(带引号)

问题是 findstr 正在查找解析的值:123.12,但它在我的列表中不存在。它错误地将 123.123 和 123.12 检测为其中的一部分。这就是为什么我想知道是否有任何方法可以使用引号进行搜索,我的意思是,格式化解析的值并将其添加引号以在文本文件中搜索。

我试过“%1”但没有成功。

先感谢您 !!


编辑

我正在尝试修改防火墙批处理脚本以阻止某些 IP

这是脚本

这是被阻止的 IP 文件: http: //pastebin.com/cP4BteDM

现在,尝试阻止例如 10.02.0,我在控制台“10.02.02”中收到。我猜是因为 10.02.0 是“instr”“10.02.02”。由于 FINDSTR 语句中存在这个问题,例如,我将永远无法禁止“10.02.0”。

谢谢你的帮助,我试过你的答案没有运气:S

0 投票
3 回答
3301 浏览

windows - 如何从第 x 行到第 y 行读取文件(dos/win 批处理文件)

我有一系列日志文件。

我用 findstr 解析这些日志文件以确定文本字符串的第一个实例,然后返回文件名和找到匹配项的行木材作为变量。

然后我使用 findstr 解析找到匹配项的文件以获取另一个文本字符串。我将匹配的行号作为变量返回。

我现在有了文件,开始和结束行号。

我需要返回行号之间的文本块。

所有输出都重定向到由变量 casenotes 表示的文本文件

这是我的代码:

任何建议表示赞赏!