středa 12. listopadu 2008

Školení PowerShell - den třetí

Tak po dnešku se přesuneme za polovinu kurzu, takže doufám, že začneme s odvážnějšími tématy. Ráno jsme dojeli soubory (CSV, XML), probrali cmdlety Out-* a začali jsme Modul 6 - Řízení běhu skriptu v PowerShellu. Už teď mohu zodpovědně prohlásit, že zas tak úplně podle knihy nejedeme. Slouží spíš jako referenční příručka, kde jsou vysvětleny příklady. Kurz jako takový - a hlavně okamžitou reakci na dotazy - nenahradí.

Začali jsme podmínkami a smyčkami (if, switch, while, foreach, ...) a ukázali si pár příkladů. Vyzkoušeli jsme si umístění větve default v příkazu switch a dostali jsme se do pěkných filosofických debat. Závěrečný příklad na foreach byl moc hezký (vypsat barevně procesy podle alokované paměti) - já ho řešil jako one-liner. Což se mi nevyplatilo hned při dalším cvičení, kdy jsme měli "skript" z předchozí úlohy přepsat jako funkci a předat jí parametr. Takže jsem stejně musel jít do IDE a pracovat v něm. Funkce jsme probrali včetně bloků BEGIN, PROCESS, END a ukázali jsme si tím pádem i práci funkce v rouře. Po funkcích následoval - zcela podle předpokladů - čas věnovaný filtrům.

Modul 7 - Souborový systém a dle názvu jasně určené téma. Zabývali jsme se výpisy (Get-ChildItem), přejmenováním (Rename-Item), kopírováním (Copy-Item), přesouváním (Move-Item) a mazáním (Remove-Item). Závěrečný příklad prověřil skvěle naše znalosti. Mé řešení bylo následující:

$i=1;$d=(get-date -u "%Y-%m-%d"); ls |? {!($_.PSIsContainer)} | sort LastWriteTime |% {rni $_ -n "$d-$i";$i++}

Nerozumíte mu? Přijďte na kurz - pan Malina vás rád uvidí :)

Žádné komentáře: