## The *list-folder.ps1* Script This PowerShell script lists the content of a directory (alphabetically formatted in columns). ## Parameters ```powershell /home/mf/Repos/PowerShell/Scripts/list-folder.ps1 [[-searchPattern] ] [] -searchPattern Specifies the search pattern ("*" by default which means anything) Required? false Position? 1 Default value * Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` ## Example ```powershell PS> ./list-folder C:\* ``` ## Notes Author: Markus Fleschutz | License: CC0 ## Related Links https://github.com/fleschutz/PowerShell ## Source Code ```powershell <# .SYNOPSIS Lists a folder .DESCRIPTION This PowerShell script lists the content of a directory (alphabetically formatted in columns). .PARAMETER SearchPattern Specifies the search pattern ("*" by default which means anything) .EXAMPLE PS> ./list-folder C:\* .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$searchPattern = "*") function GetFileIcon { param([string]$suffix) switch ($suffix) { ".csv" {return "📊"} ".epub" {return "📓"} ".exe" {return "⚙️"} ".gif" {return "📸"} ".iso" {return "📀"} ".jpg" {return "📸"} ".mp3" {return "🎵"} ".mkv" {return "🎬"} ".zip" {return "🎁"} default {return "📄"} } } 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 = "📂" } else { $icon = GetFileIcon $item.Extension } New-Object PSObject -property @{ Name = "$icon$name" } } } try { ListFolder $searchPattern | Format-Wide -autoSize exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 } ``` *Generated by convert-ps2md.ps1 using the comment-based help of list-folder.ps1*