Стыдно признаться, но после работы с Monad, когда она была в бета-версии, с тех пор я как-то пренебрегал PowerShell.Так что я только сейчас окунаю свои пальцы.
Я хотел, чтобы функция раскрасила список каталогов, и я нашел ее в Интернете:
function LL {
param ($dir = ".", $all = $false)
$origFg = $host.ui.rawui.foregroundColor
if ( $all ) { $toList = ls -force $dir }
else { $toList = ls $dir }
foreach ($Item in $toList) {
Switch ($Item.Extension) {
".Exe" {$host.ui.rawui.foregroundColor = "Yellow"}
".cmd" {$host.ui.rawui.foregroundColor = "Red"}
".msh" {$host.ui.rawui.foregroundColor = "Red"}
".vbs" {$host.ui.rawui.foregroundColor = "Red"}
Default {$host.ui.rawui.foregroundColor = $origFg}
}
## if ($item.Mode.StartsWith("d")) {$host.ui.rawui.foregroundColor = "White"}
if ($item.PSIsContainer) {$host.ui.rawui.foregroundColor = "White"}
$item
}
$host.ui.rawui.foregroundColor = $origFg
}
Единственная проблема заключается в том, что материал заголовкав полученном отображении всегда отображается цвет, назначенный первой записи в каталоге.
Поэтому я решил взглянуть на массив, присвоенный переменной $ tolist:
09:47:10|# $tolist = ls
09:47:26|# $tolist[0]
Directory: D:\Documents and Settings\200018252
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 7/15/2011 8:15 AM .ssh
09:47:37|# $tolist[9]
Directory: D:\Documents and Settings\200018252
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 3/10/2011 1:14 PM vimperator
09:48:19|#
Итак, когдаДля каждого элемента $ tolist предваряется пустой строкой, затем одна показывает каталог, другая пустая строка, а затем заголовки столбцов.
Мне нужно контролировать цвет переднего плана для этой информации.Что его излучает?