2013-09-30 178 views

回答

22
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开关它是一个快照。我第一次错过了。

+4

对于那些熟悉的Powershell,表达式'$ _。PSIsContainer -eq $ true'是当前对象是一个文件夹的测试。 – daftspaniel

+0

比dir/s“keyword”要容易得多吗?为什么powershells命令延迟?我想这只是MS的MO中的更多,尽可能使事情变得臃肿和不必要的复杂,因此最终用户更喜欢吃用汽油冲洗的指甲罐,而不是使用他们可怕的产品。 –

+0

@ NotoriousPet0请参阅编辑更短的版本。除了那些流行的命令通常有你熟悉的* nix或cmd的别名外,长命令名称系统还有其优点。感谢动名词约定,您可以轻松掌握新模块,并查找命令:'get-command-Noun item'; 'Get-Command -Verb convertto'。 –

相关问题