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

Saw*_*wan 11 windows search powershell command-line wildcards

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

C:\Users\*\AppData\Local\*.txt
Run Code Online (Sandbox Code Playgroud)

aph*_*ria 15

Windows PowerShell 可以轻松完成此操作。

Get-ChildItem C:\Users\*\AppData\Local\*.txt
Run Code Online (Sandbox Code Playgroud)

如果要包含子文件夹:

Get-ChildItem C:\Users\*\AppData\Local\*.txt -recurse
Run Code Online (Sandbox Code Playgroud)

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

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


Nic*_*ton 5

任何适用于 Windows 的好的 Unix shell 都可以做到这一点。

例如,这是我的Hamilton C shell执行您的示例(抱歉,没有匹配项)和其他几个确实产生匹配项的屏幕截图。第三个示例中使用的...通配符匹配零个或多个目录级别,无论模式的其余部分匹配需要什么。

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

以下是您可以如何使用Cygwin 做到这一点bash。这里有一些不同之处,因为 Cygwin 遵循 Unix 约定:路径通常用正斜杠输入,反斜杠是转义字符。由于 Unix 不理解驱动器字母,因此他们引入了一种/cydrive/c表示法来引用C:驱动器。在 Unix 上,通配符区分大小写。虽然它支持您喜欢的通常的多目录级别通配符,但它不包括...我添加到我的 shell 中的。(相反,您可能会使用find.)

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