SampleProfile.ps1
|
$fileSystemColors = @( #@{ # Match = { param($f) $f.PSIsContainer }; # Color = [System.ConsoleColor]::Gray #}, @{ Match = [System.IO.FileAttributes]::Directory; Color = [System.ConsoleColor]::Gray }, # archive/compressed @{ Match = @("7z", "arj", "bz", "bz2", "cab", "gz", "iso", "lha", "lzh", "lzma", "rar", "tar", "taz", "tgz", "tbz2", "uu", "z", "zip"); Color = [System.ConsoleColor]::Yellow }, # executables/scripts @{ Match = @("bat", "btm", "cmd", "com", "cpl", "exe", "lnk", "msi", "pl", "ps1", "psm1", "psd1", "py", "pyw", "vbs", "ws", "wsf"); Color = [System.ConsoleColor]::Red }, # libraries, fonts, data files, etc. @{ Match = @("ax", "cpl", "dat", "dll", "drv", "fnt", "fon", "fot", "ttf", "sys", "vxd", "386", "hdl", "fdl", "ldl"); Color = [System.ConsoleColor]::DarkRed }, # source code and related @{ Match = @("asm", "bas", "c", "cpp", "cs", "def", "h", "idl", "mak", "pas", "rc"); Color = [System.ConsoleColor]::Magenta }, # text files/documents/help @{ Match = @("1st", "ans", "asc", "chm", "csv", "doc", "docx", "hlp", "lst", "man", "md", "me", "pdf", "prn", "ps", "txt", "wri", "xls", "xlsx"); Color = [System.ConsoleColor]::Blue }, # audio files @{ Match = @("cda", "flac", "mid", "mod", "mp3", "wav", "ogg", "s3m", "wav", "xm"); Color = [System.ConsoleColor]::Cyan }, # images/video @{ Match = @("ani", "asf", "asx", "avi", "bmp", "cur", "dng", "flv", "gif", "hdr", "ico", "iff", "jpeg", "jpg", "lbm", "mkv", "mov", "mp4", "mpeg", "mpg", "orf", "pcd", "pcx", "pic", "png", "raw", "rle", "rm", "tga", "tif", "tiff", "wmv"); Color = [System.ConsoleColor]::DarkCyan }, # "web" files @{ Match = @("asax", "asp", "aspx", "htm", "html", "mht", "php", "xml", "xsl"); Color = [System.ConsoleColor]::DarkYellow }, # config and similar files @{ Match = @("cfg", "conf", "ctl", "dos", "grp", "ini", "inf", "pif", "reg"); Color = [System.ConsoleColor]::Green }, # log/output files @{ Match = @("log", "err", "out"); Color = [System.ConsoleColor]::DarkGreen }, # temporary/intermediate files @{ Match = @("bak", "bsc", "exp", "idb", "ilk", "tmp"); Color = [System.ConsoleColor]::DarkGray }, @{ Match = [regex] "^\..*"; Color = [System.ConsoleColor]::DarkGray } ) Set-FileSystemColors -Colors $fileSystemColors $processColors = @( @{ Match = "Idle" Color = [System.ConsoleColor]::DarkMagenta } @{ Match = "BelowNormal" Color = [System.ConsoleColor]::DarkCyan } @{ Match = "Normal" Color = [System.ConsoleColor]::White } @{ Match = "AboveNormal" Color = [System.ConsoleColor]::Green } @{ Match = "High" Color = [System.ConsoleColor]::Yellow } @{ Match = "RealTime" Color = [System.ConsoleColor]::Red } ) Set-ProcessColors -Colors $processColors function d { $totalFileSize = 0 $fileCount = 0 $directoryCount = 0 Get-ChildItem @args -Force | % { if ($_.PSIsContainer) { ++$directoryCount } else { ++$fileCount; $totalFileSize += $_.Length; } $_ } | Format-Custom -View ansi #| less -rEX Write-Host ([String]::Format("{0,20:N0} bytes in {1} files and {2} dirs`n", $totalFileSize, $fileCount, $directoryCount)) } |