2013-09-30 133 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'。 –

相關問題