## The *what-is.ps1* Script This PowerShell script queries the description of the given abbreviation and prints it. ## Parameters ```powershell /home/mf/Repos/PowerShell/Scripts/what-is.ps1 [[-abbr] ] [] -abbr Specifies the abbreviation to look for 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> ./what-is IAS ``` ## Notes Author: Markus Fleschutz | License: CC0 ## Related Links https://github.com/fleschutz/PowerShell ## Source Code ```powershell <# .SYNOPSIS Explains an abbreviation .DESCRIPTION This PowerShell script queries the description of the given abbreviation and prints it. .PARAMETER abbr Specifies the abbreviation to look for .EXAMPLE PS> ./what-is IAS .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$abbr = "") try { if ($abbr -eq "" ) { $abbr = Read-Host "Enter the abbreviation" } $Files = (Get-ChildItem "$PSScriptRoot/../Data/Abbr/*.csv") [int]$Matches = 0 foreach($File in $Files) { $Table = Import-CSV "$File" foreach($Row in $Table) { if ($Row.ABBR -eq $abbr) { $Basename = (Get-Item "$File").Basename -Replace "_"," " "💡 $($Row.ABBR) in $Basename refers to: $($Row.TERM)" $Matches++ } } } if ($Matches -eq 0) { "Sorry, '$abbr' is missing in the database." } exit 0 # success } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 } ``` *Generated by convert-ps2md.ps1 using the comment-based help of what-is.ps1*