Out-StripAnsi.psm1
#### lolcat for powershell #### Author Ma Bingyao function Out-StripAnsi { <# .SYNOPSIS Usage: Out-StripAnsi .EXAMPLE Get-ChildItem | Out-String -Stream | Out-StripAnsi .PARAMETER InputObject PipeLine input, it must be a strings #> param( [Parameter(Mandatory=$True,ValueFromPipeline=$True)] $InputObject ) BEGIN { $Pattern = "[\u001B\u009B][[\]()#;?]*(?:(?:(?:[a-zA-Z\d]*(?:;[a-zA-Z\d]*)*)?\u0007)|(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PRZcf-ntqry=><~]))"; } PROCESS { if ($InputObject -isnot [string]) { $InputObject = $InputObject.ToString(); } if ($InputObject.Length -eq 0) { Write-Output "" return; } $InputObject -replace $Pattern, "" } END { } } |