根据我对 findstr 的理解,它在文件中查找文本。那么,是什么让它在文件名本身中搜索模式呢?
dir | findstr "test[0-9][0-9][0-9]test"
管道是否会改变其行为?有人解释了这个的内部工作。我知道它有效,但我不明白它是如何工作的。谢谢。
我不知道findstr
它本身,但它看起来类似于grep
.
它在这里所做的是获取dir
(目录列表)的输出并在该输出中搜索一些字符串。然后它只输出那些匹配的行(有效地在目录列表中搜索)。
这个过程(称为管道)在类 Unix 操作系统中非常常见。如您所见,它也存在于 Windows(以及之前的 DOS)上。
管道将 的标准输出重定向dir
到 的标准输入findstr
,这findstr
将使用在命令行上传递给它的参数或通过标准输入传递给它的任何参数。