2014-12-12 2 views
-1

Я думаю, что регулярное выражение подходит для powershell, но я думаю, что моя логика ошибочна.Поиск каталогов с определенным регулярным выражением

Что я хочу сделать, это получить список всех каталогов, начинающихся с 4-х до шести цифр. Что я получаю до сих пор являются дочерними элементами в каталогах, которые начинаются с 4-6 цифрами:

get-childitem -path \\server\share -recurse | 
where { ($_.psiscontainer) -and ($_.name -match "^\d{4,6}") } 

Может ли я как-то труба в запись для «текущего объекта», а не ребенок?

+1

изменить ваше регулярное выражение для ' "^ \ d {4,6}"' –

+1

Вместо '($ _ PsIsContainer.)' можно использовать '-Directory' переключатель 'Get-ChildItem', если у вас есть хотя бы v3 из PS – Matt

+0

@ Avinash-Raj да есть ^, но опять-таки проблема в том, что я получаю дочерние элементы в этом каталоге, а не сам каталог. – SteveDolphin23

ответ

0

Так что в конце концов я просто вписал | футов, что делает общую команду:

get-childitem -path \\path\path -recurse | where {($_.psiscontainer) 
-and ($_.name -match "^\d{4,6}")} | Select-Object Name, FullName | ft 
Смежные вопросы