Cmd 使用Findstr查找字符串并将其保存到文件中,而不会出现输出错误

Cmd 使用Findstr查找字符串并将其保存到文件中,而不会出现输出错误,cmd,Cmd,我试图在我的C:/中的所有文件中找到一些字符串“tn=6192548188_hao”,这是我在Console中使用的代码: findstr /S/I ".*tn=6192548188_hao.*" * >"D:/21.txt" 2>nul 但是当我在D:/中检查21.txt时,里面什么都没有,但是当我使用 findstr /S/I ".*tn=6192548188_hao.*" * 控制台中除了错误之外还有其他东西,所以我的命令有什么问题吗?由于我是findstr的新手,这可能是

我试图在我的C:/中的所有文件中找到一些字符串“tn=6192548188_hao”,这是我在Console中使用的代码:

findstr /S/I ".*tn=6192548188_hao.*" * >"D:/21.txt" 2>nul
但是当我在D:/中检查21.txt时,里面什么都没有,但是当我使用

findstr /S/I ".*tn=6192548188_hao.*" *

控制台中除了错误之外还有其他东西,所以我的命令有什么问题吗?由于我是findstr的新手,这可能是一个非常小的问题。但无论如何,谢谢你的关注

我试过你的代码,它对我来说非常有效

您应该知道,
/
是windows上的一个开关,
\
是一个目录分隔符。如果目标是文件名,则通常会进行转换


正则表达式中的
*
似乎是多余的。

我使用了。*因为字符串总是以某物开头作为前缀。我也以管理员的身份运行,但它没有给我任何新的东西。那么,有什么方法可以在控制台上打印所有结果而不回显错误呢?因为当我使用后面的代码时,它总是以“内存不足”结尾。谢谢你的关注!好的,我使用了(findstr/S/I“*tn=6192548188_hao.*”*2>nul)并似乎在控制台上得到了答案,但奇怪的是21.txt中也没有任何内容。我的电脑可能有问题?还是“内存不足”是现在的主要问题?无论如何,谢谢你的帮助!奇怪-正如我所说,你的代码对我有用(W7)。在regex前端,我发现
*
确实是多余的,因为
*
匹配0次或更多次。理论上,
.*string..*
应该匹配
1个或多个任意字符
。Weel,在我的实验结束时,它与“.*string”匹配,
cmd
运行到La La land,使用CPU,但不执行I/O(根据process explorer)。我将包含@dbenham,希望得到评论。。。