PowerShell изменить цвет вывода - PullRequest
0 голосов
/ 10 июля 2019

Условие не работает, всегда "иначе"

Get-Process| Select-Object Name,VM | 
ForEach { 
if ($_.Name -eq "chrome") { [console]::ForegroundColor="red"; $_; } 
else { [console]::ForegroundColor="white"; $_; }  
[console]::ForegroundColor="white"; }

1 Ответ

1 голос
/ 10 июля 2019

Вместо этого используйте Write-Host, при запуске [console]::ForegroundColor изменяется цвет всего текста переднего плана, в основном всего текста, который не является многословным или потоком ошибок. Однако вы можете изменить каждую строку, если вместо этого используете Write-Host.

Get-Process msedge,notepad++,chrome | Select-Object Name | 
ForEach { 
    if ($_.Name -eq "chrome") { 
    write-host -ForegroundColor red $_.Name
        } 
    elseif ($_.Name -eq "msedge"){ 
    write-host -ForegroundColor green $_.Name; 
    }
    else{
    write-host -ForegroundColor white $_.Name; 
    }

}

И вывод:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...