
Pozvánka na AMPER 2025
Zveme vás na mezinárodní veletrh elektrotechniky, elektroniky a energetiky - AMPER 2025.
Přejít na obsah|Přejít k hlavnímu menu|Přejít k vyhledávání
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:
Pro získání seznamu složek použijeme Get-ChildItem:
$directories = Get-ChildItem -Path $sourcePath -Directory | Where-Object { $_.Name -like $folderMask }
Složky si poté seřadíme pomocí Sort-Object od nejnovější:
$directories | Sort-Object -Property LastWriteTime -Descending | Select-Object -Last 10
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"
Celý skript najdete na našem GitHubu: folder_downloader.ps1
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.
Zveme vás na mezinárodní veletrh elektrotechniky, elektroniky a energetiky - AMPER 2025.
Únorovým hostem podcastu Inside Tech byl Radoslav Slovák, spolumajitel Edhouse. V rozhovoru pro zpravodajský web Focuson.cz si s Jiřím Böhmem povídal o technologiích měnících svět, konkurenceschopnosti v IT a také o budoucnosti školství a podpoře vzdělávání mladých lidí.
Máme pro vás novinku – Edhouse Update, pravidelný newsletter! Tento nový komunikační kanál jsme vytvořili právě pro vás – naše zákazníky, partnery a IT nadšence. Chceme vám pravidelně přinášet zajímavé informace nejen o dění v naší firmě, ale také sdílet zkušenosti a tipy z oblasti vývoje softwaru a hardwaru.
Děkujeme za váš zájem o odběr našeho newsletteru! Pro dokončení registrace je potřeba potvrdit vaše přihlášení. Na zadaný e-mail jsme vám právě zaslali potvrzovací odkaz. Klikněte prosím na tento odkaz, aby bylo vaše přihlášení dokončeno. Pokud e-mail nenajdete, zkontrolujte prosím složku nevyžádané pošty (spam) nebo složku hromadné pošty.