Variables that contains the color of a text in PowerShell

2.2k views Asked by At

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

There are 1 answers

0
Santiago Squarzon On BEST ANSWER

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.