Divize Advanced
Z daného souboru (XLS) bylo potřeba zjistit délky skoků jednotlivých sportovců a na základě výkonů v sezóně určit zda splnili očekávání do nich vkládaná.
- $path = "C:\sg2009\LongJump_Adv2.xls"
- $xls = New-Object -com Excel.Application
- $xls.Visible = $true
- $wrkbk = $xls.Workbooks.Open($path)
- $format = 23
- $wrkbk.SaveAs('C:\sg2009\result.csv',$format)
- $wrkbk.Close($true)
- $xls.Quit()
- $data = Import-Csv C:\sg2009\result.csv
- foreach ($row in $data) {
- if ($row.'Jump 1' -eq 'x') { $row.'Jump 1' = 0 }
- if ($row.'Jump 2' -eq 'x') { $row.'Jump 2' = 0 }
- if ($row.'Jump 3' -eq 'x') { $row.'Jump 3' = 0 }
- if (([double]$row.'Jump 1' -ge [double]$row.'Jump 2') -and ([double]$row.'Jump 1' -ge [double]$row.'Jump 3')) {
- [double]$row.Result = $row.'Jump 1'
- }
- elseif (([double]$row.'Jump 2' -ge [double]$row.'Jump 1') -and ([double]$row.'Jump 2' -ge [double]$row.'Jump 3')) {
- [double]$row.Result = $row.'Jump 2'
- }
- else {
- [double]$row.Result = $row.'Jump 3'
- }
- if ($row.Result -lt $row.'Season Average') {
- $row.'Exceed/Achieve/Under Perform ' = '1.Under Perform'
- }
- elseif ($row.Result -eq $row.'Season Average') {
- $row.'Exceed/Achieve/Under Perform ' = '2.Achieve'
- }
- else {
- $row.'Exceed/Achieve/Under Perform ' = '3.Exceed'
- }
- }
- $data | sort 'Exceed/Achieve/Under Perform ', Result -Descending | `
- Export-Csv C:\sg2009\result.csv -Force -NoTypeInformation
Divize Beginners
Obsahovala jednoduchou úlohu pro dotaz do WMI. V PowerShellu naprosto jednoduchá věc. Celá úloha byla pouze "ztížena" výpisem různých barviček. Tentokrát jsem úkol řešil jako jednoduchou funkci, kdy jsem navíc přidal možnost zadání jména vzdáleného počítače.
- function Get-LongJumpResults {
- param (
- $computer = "localhost"
- )
- $headerColor = "Green"
- $speedColor = "Yellow"
- $strengthColor = "Magenta"
- $agilityColor = "Cyan"
- $data = gwmi Win32_Processor -ComputerName $computer
- Write-Host "Strength evaluation for $computer" -ForegroundColor $headerColor
- Write-Host "Speed ... $($data.MaxClockSpeed)" -ForegroundColor $speedColor
- Write-Host "L2 cache size: $($data.L2CacheSize)" -ForegroundColor $speedColor
- Write-Host "L2 cache speed: $($data.L2CacheSpeed)" -ForegroundColor $speedColor
- Write-Host "L3 cache size: $($data.L3CacheSize)" -ForegroundColor $speedColor
- Write-Host "L3 cache speed: $($data.L3CacheSpeed)" -ForegroundColor $speedColor
- Write-Host "Strength ..." -ForegroundColor $strengthColor
- Write-Host "Number of Cores: $($data.NumberOfCores)" -ForegroundColor $strengthColor
- Write-Host "Number of logical processors: $($data.NumberOfLogicalProcessors)" -ForegroundColor $strengthColor
- Write-Host "Name: $(($data.Name).trim())" -ForegroundColor $strengthColor
- Write-Host "Agility ..." -ForegroundColor $agilityColor
- Write-Host "Address width: $($data.AddressWidth)" -ForegroundColor $agilityColor
- } #function Get-LongJumpResults