![]() |
как раскрасить html?
Вложений: 1
День добрый.
читаю методичку (хз откуда взятую) "Windows PowerShell Введение в технологии языка сценариев для пользователей без базовых знаний". (кому если надо - прикрепил) Так вот, там есть пример они берут список служб и на его основе создают файл html и раскрашивают его в зависимости от состояния службы: Get-Service | ConvertTo-Html -Property name,status | Foreach { If ($_ -Like "*<td>Running</td>*") {$_ -Replace "<tr>", "<tr bgcolor=green>"} else {$_ -Replace "<tr>", "<tr bgcolor=red>"}} > .\get-service.html Всё прекрасно работает, только отсюда возникает два вопроса. 1) почему неправильно работает, если мы уберём условие ELSE ? т.е. так: Get-Service | ConvertTo-Html -Property name,status | Foreach { If ($_ -Like "*<td>Running</td>*") {$_ -Replace "<tr>", "<tr bgcolor=green>"} } > .\get-service.html Казалось бы, должен он раскрашивать только те, которые включены, а которые не включены - не раскрашивать. почему так не работает и как этого добиться? неужели без else здесь нельзя - придётся раскрашивать в стандартные цвета, чтоле? 2) как раскрасить список процессов таком образом, чтобы наиболее активные процессы отличались от менее активных? попытался сделать по аналогии, у меня не получается: Get-Process|sort cpu -Des|convertto-html name, cpu | % {if ($_.cpu -gt 30){$_ -replace "<tr>", "<tr bgcolor=red>"}else{$_ -replace "<tr>", "<tr bgcolor=green>"}}| out-file 1.html всё зелёное выдаёт. p.s. хочется здесь сделать по принципу "больше, чем", нежели по принципу "первые столько-то". а вот и третий вопрос назрел: 3) как раскрасить ячейки в одной строке разным цветом? (интересует повершельная сторона вопроса а не хтмл-ная) |
1. без Else нельзя, т.к. в этом случае альтернативные варианты будут удаляться из потока... если их не нужно красить, можно сделать пустую замену или просто продублировать объект (строку)
Код:
Get-Service | ConvertTo-Html -Property name,status | Foreach {` Код:
Get-Process | ConvertTo-Html Name,CPU | ForEach {` Код:
Get-Process | ConvertTo-Html Name,CPU | ForEach {` |
спасибо за ответ на первый вопрос!
коды под пунктами 2 и 3 выдают всё белое, ничего не раскрашивается.. и поясните их пожалуйста, мне во вторых строчках непонятно ничего. про повершгельную сторону имел ввиду что я хтмл понимаю, неепонимаю именно как в повершелле правильно написать |
Цитата:
0. Формируем базовый HTML-документ (get-service0.html). Код:
Get-Process | ConvertTo-Html Name,CPU >.\get-service0.html Код:
Get-Content .\get-service0.html | ForEach {` Код:
Get-Content .\get-service0.html | ForEach {` |
"Методичка" взята тут, рядом лежит продолжение.
Что касается вопросов... В данном случае IMHO проще и понятнее сформировать HTML самому, например так: Код:
$Processes = Get-Process |
Время: 01:57. |
Время: 01:57.
© OSzone.net 2001-