Принимая во внимание, что Get-ChildItem $root -directory
дает тот же результат, что и
Get-ChildItem $root | Where-Object {$_.PSIsContainer}
Вы можете попробовать (я не знаю PS
подробный синтаксис)
Get-ChildItem $root -file
или даже
gci $root -file
Не уверен, нуждается ли ваш сценарий в улучшении ...