Я хотел бы найти все каталоги на верхнем уровне из местоположения script, которые хранятся в subversion.
В С# это будет что-то вроде этого
Directory.GetDirectories(".")
.Where(d=>Directories.GetDirectories(d)
.Any(x => x == "_svn" || ".svn"));
Мне сложно найти эквивалент "Any()" в powershell, и я не хочу проходить через неловкость вызова метода расширения.
Пока у меня есть это:
gci | ? {$_.PsIsContainer} | gci -force | ? {$_.PsIsContainer -and $_.Name -eq "_svn" -or $_.Name -eq ".svn"
Это находит мне сами svn-каталоги, но не их родительские каталоги - это то, что я хочу. Бонусные баллы, если вы можете сказать мне, почему добавление
| select-object {$_.Directory}
до конца этого списка команд просто отображается последовательность пустых строк.