列出给定目录中包含特定术语的所有文件

列出给定目录中包含特定术语的所有文件

怎样在 Windows XP 下列出给定目录中包含术语“foobar”的所有文件?

答案1

尝试:

dir *foobar*

如果您想查看设置了“隐藏”或“系统”属性的文件,请添加“/a”参数。

编辑:

最初,我以为你指的是文件名。后来我突然想到,你可能指的是数据流中包含文本“foobar”的文件。使用内置工具会有点困难。你可以尝试 FIND 命令,但它不支持 Unicode:

@echo off
for /f "usebackq" %%i in (`dir /a-dsh /b`) do (
 for /f "usebackq tokens=3" %%d in (`find /c /i "foobar" %%i`) do if %%d NEQ 0 echo %%i
)

该脚本将返回包含“foobar”(不区分大小写——从 find 命令行中删除“/i”以进行区分大小写匹配)的文件的名称。

我将“隐藏”和“系统”文件排除在搜索之外,因为除非您在运行 FIND 之前删除“隐藏”或“系统”属性,否则 FIND 将返回“未找到文件”。非常不方便...

相关内容