Mnoho úkonů, které běžně provádíme manuálně, lze automatizovat. Ušetříme tím čas, ale můžeme také snížit pravděpodobnost chyb.
Jedním z takových úkolů může být například stahování nejnovějšího buildu aplikace, kterou testujeme. V tomto článku se podíváme na to, jak lze snadno (polo)automaticky stahovat složky (nejen) ze sdíleného disku pomocí PowerShellu.
Představme si situaci: Máme síťový disk nebo sdílené úložiště, na který se automaticky ukládají nejnovější vývojové verze aplikace. Pokud tedy chceme tuto verzi testovat, musíme otevřít Průzkumníka a najit požadovanou složku. V ní potom zjistit, která verze je nejnovější, a tu stáhnout k sobě na disk. Je to jednoduchá operace, ale nějaký čas zabere a pokud ji musíme opakovat několikrát denně, efektivita prudce klesá.
K naprogramování skriptu nám bude stačit základní znalost PowerShellu:
Vytvoříme si seznam složek, pomocí kterého později vytvoříme “menu” a do kterého doplníme informaci o datu a času vytvoření složky a informaci, jestli už danou složku náhodou nemáme staženou:
$downloadList += [pscustomobject]@{ Index = $downloadIndex; DateTime = $_.LastWriteTime.ToString("yyyy-MM-dd HH:mm"); Name = $_.Name; FullName = $_.FullName; IsDownloaded = $isDownloaded; }
Menu vytvoříme zobrazením seznamu ve formátu tabulky pomocí Format-Table a dotazem pomocí Read-Host na zadání čísla složky, která se má stáhnout:
$downloadList | Format-Table -Property Index, DateTime, Name, IsDownloaded -AutoSize $PROMPT = Read-Host "Select a number of build to download"
Tento jednoduchý skript je spíše ukázkou toho, že i jednoduché operace se vyplatí automatizovat a jejich vytvoření nemusí být nijak složité. Já osobně podobný skript používám opravdu několikrát denně (a spouštím samozřejmě pomocí Sekubu). Po stažení mohu také rovnou spustit instalátor aplikace.
Sdílet článek
Autor
Jan ZatloukalTester a vývojář se zálibou v automatizaci a zlepšování procesu vývoje. Aktuálně pracuji na projektu automatizace elektronových mikroskopů v Pythonu.