如何使用Powershell搜索文件夹

时间:2013-09-30 10:21:45

标签: powershell

我想在特定目录和子目录中搜索文件夹。

我试过谷歌搜索,但没有找到任何有用的例子。

2 个答案:

答案 0 :(得分:33)

Get-ChildItem C:\test -recurse | Where-Object {$_.PSIsContainer -eq $true -and $_.Name -match "keyword"}

我相信没有用于搜索文件的专用cmdlet。

编辑以回应@Notorious评论: 从Powershell 3.0开始,这更容易,因为-Direcotry-File已添加到Get-ChildItem。所以,如果你想要它简短,你就得到了:

ls c:\test *key* -Recurse -Directory

使用命令别名和开关的tab-completion,它很容易。我第一次错过了。

答案 1 :(得分:0)

这是我的版本,仅略有不同:

gci -Recurse -Filter "your_folder_name" -Directory -ErrorAction SilentlyContinue -Path "C:\"

更多信息:

-Filter "your_folder_name"

摘自文档:过滤器比其他参数更有效。当cmdlet获取对象时,提供程序将应用过滤器,而不是让PowerShell在检索对象后对其进行过滤。筛选器字符串将传递到.NET API以枚举文件。该API仅支持*和?通配符。

-Directory 

仅检查目录,也可以是-File

-ErrorAction SilentlyContinue 

使所有警告静音

-Path "C:\"

指定开始搜索的路径

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-7