2013-09-30 23 views
11

Vorrei cercare una cartella in una directory e sottodirectory specifiche.Come cercare una cartella con PowerShell

Ho provato a cercarlo su google, ma non ho trovato alcun utile esempio.

+1

Hai guardato l'opzione '-recurse' su' Get-ChildItem'? – Richard

risposta

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

Credo non ci sia un cmdlet dedicato per la ricerca di file.

Modifica in risposta al commento @Notorious: Dal PowerShell 3.0 questo è molto più facile, dal momento che gli interruttori -Direcotry e -File sono stati aggiunti Get-ChildItem. Quindi, se volete farla breve hai:

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

Con alias di comando e scheda di completamento per gli switch E 'un gioco da ragazzi. Ho appena perso la prima volta.

+4

Per quelli meno familiari a PowerShell, l'espressione '$ _. PSIsContainer -eq $ true' è il test per l'oggetto corrente che è una cartella. – daftspaniel

+0

Molto più semplice della "parola chiave" di dir/s, giusto? Perché i comandi di PowerShell sono ritardati? Immagino che questo sia solo più del MO di MS, rendere le cose più gonfie e inutilmente complicate possibili, così l'utente finale preferisce mangiare una lattina di chiodi lavati con benzina piuttosto che usare i loro prodotti orribili. –

+0

@ NotoriousPet0 Vedi la modifica per la versione più corta. Oltre a questi comandi popolari di solito sono noti alias di * nix o cmd, il sistema di nomi di comandi lunghi ha i suoi vantaggi. Puoi facilmente afferrare il nuovo modulo grazie alla convenzione verb-sostantivo e trovare i comandi: 'get-command -Noun item'; 'Get-Command -Verb convertto'. –

Problemi correlati