Конечно, будут и другие способы, такие как использование фильтра для получения дочерних файлов onlz, но вы можете сделать что-то вроде следующего:
#will load directory content
$files = Get-ChildItem "C:\Users\fooo\Documents\"
#empty array for extensions preparation
$extensions = New-Object System.Collections.ArrayList($null)
#iterate over items= files and directories
for ($i=0; $i -lt $files.Count; $i++) {
#print all (once by one of course)
#Write-Host $files[$i].FullName
#print extension only
#Write-Host $files[$i].Extension
#store extensions by unique, if its a file
if( ($files[$i].GetType().Name -eq "FileInfo" ) -and !$extensions.Contains($files[$i].Extension) ){
$extensions.Add($files[$i].Extension)
}
}
Write-Host $extensions
мой вывод:
.gitattributes .gitignore .mailmap .yml .cmd .fsx .sh .md .dependencies .lock .sln .DotSettings