Я использую функцию Write-Color для записи цветных сообщений и хочу выровнять статус
$file1 = "myFirstFileName.json"
$file2 = "myFile.json"
Function Write-Color([String[]]$Text, [ConsoleColor[]]$ForeGroundColor, [ConsoleColor[]]$BackGroundColor)
{
for ($i = 0; $i -lt $Text.Length; $i++) {
$Color = @{ }
if ($ForeGroundColor -and $BackGroundColor)
{
$Color = @{
ForegroundColor = $ForeGroundColor[$i%($ForeGroundColor.count)]
BackgroundColor = $BackGroundColor[$i%($BackGroundColor.count)]
}
}
elseif ($ForeGroundColor)
{
$Color = @{
ForegroundColor = $ForeGroundColor[$i%($ForeGroundColor.count)]
}
}
elseif ($BackGroundColor)
{
$Color = @{
BackgroundColor = $BackGroundColor[$i%($BackGroundColor.count)]
}
}
Write-Host $Text[$i] @Color -NoNewLine
}
Write-Host
}
Write-Color 'File ', $file1, ' is open'.PadRight(48), '[', ' ERROR! ', ']' -ForeGround Cyan, Yellow, Cyan, White, Red, White
Write-Color 'File ', $file2, ' is open'.PadRight(48), '[', ' ERROR! ', ']' -ForeGround Cyan, Yellow, Cyan, White, Red, White
Результат
Файл myFirstFileName.json isоткрыть [ОШИБКА! ]
Файл myFile.json открыт [ОШИБКА! ]
Ожидаемый результат
Файл myFirstFileName.json открыт [ОШИБКА! ]
Файл myFile.json открыт [ОШИБКА! ]