使用 Windows 命令行在路径中搜索带有通配符的文件

使用 Windows 命令行在路径中搜索带有通配符的文件

如何使用通配符在 Windows 命令行中搜索文件?

C:\Users\*\AppData\Local\*.txt

答案1

Windows PowerShell 可以轻松做到这一点。

Get-ChildItem C:\Users\*\AppData\Local\*.txt

如果要包含子文件夹:

Get-ChildItem C:\Users\*\AppData\Local\*.txt -recurse

关于隐藏(等等)文件,Powershellhelp Get-ChildItem说:

默认情况下,Get-ChildItem 会获取非隐藏项目,但您可以使用 Directory、File、Hidden、ReadOnly 和 System 参数来仅获取具有这些属性的项目。要创建复杂的属性搜索,请使用 Attributes 参数。如果使用这些参数,Get-ChildItem 只会获取满足所有搜索条件的项目,就像参数由 AND 运算符连接一样。

答案2

任何适用于 Windows 的优秀 Unix shell 都可以执行此操作。

例如,这是我的汉密尔顿C壳执行您的示例(抱歉,没有匹配项)和其他几个确实产生匹配项的程序。...通配符第三个示例中使用的匹配零个或多个目录级别,无论其余模式需要匹配什么。

在 Windows 7 x64 上使用 Hamilton C shell 进行通配符

你可以这样做赛格威 bash。这里有几个不同之处,因为 Cygwin 遵循 Unix 惯例:路径通常用正斜杠输入,反斜杠是转义字符。由于 Unix 不理解驱动器字母,因此他们引入了一种/cydrive/c表示法来指代C:驱动器。与 Unix 一样,通配符区分大小写。虽然它支持您想要的通常的多目录级通配符,但它不包括...I 添加到我的 shell 中。(相反,您可能会使用find.)

在 Windows 7 x64 上使用 Cygwin bash 进行通配符

答案3

在 cmd 中,导航到C:\Users并运行

dir /s /b | findstr AppData\Local | findstr txt

说明:dir /s递归列出所有文件,/b显示完整路径,并在所有这些子文件中使用管道运算符搜索字符串“AppData\Local”和“txt”。

相关内容