<# .SYNOPSIS Lists the folder content .DESCRIPTION This script lists the directory content formatted in columns. .PARAMETER SearchPattern Specifies the search pattern, "*" by default (means anything) .EXAMPLE PS> ./list-folder C:\ .NOTES Author: Markus Fleschutz ยท License: CC0 .LINK https://github.com/fleschutz/PowerShell #> param([string]$SearchPattern = "*") function ListFolder { param([string]$SearchPattern) $Items = get-childItem -path "$SearchPattern" foreach ($Item in $Items) { $Name = $Item.Name if ($Name[0] -eq '.') { continue } # hidden file/dir if ($Item.Mode -like "d*") { $Icon = "๐" } elseif ($Name -like "*.iso") { $Icon = "๐" } elseif ($Name -like "*.mp3") { $Icon = "๐ต" } elseif ($Name -like "*.epub") { $Icon = "๐" } else { $Icon = "๐" } new-object PSObject -Property @{ Name = "$Icon$Name" } } } try { ListFolder $SearchPattern | format-wide -autoSize exit 0 # success } catch { "โ ๏ธ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))" exit 1 }