Variables that contains the color of a text in PowerShell

Viewed 390

Is it possible to store in a variable the color of a text? I tried this but it doesn't work:

$format1 = "-ForegroundColor White"
$format2 = "-BackgroundColor Black"

Write-Host "Example" $format1 $format2

It returns:

"Example -ForegroundColor White -BackgroundColor Black" #(not colored)
1 Answers

Here is how you can accomplish what you're trying to achieve.

$format1 = @{
    ForegroundColor = "White"
    BackgroundColor = "Black"
}

Write-Host "Example" @format1

This method is called Splatting and basically is how you can pass multiple arguments to a function using a hashtable.

Related