Internet Download Centrum - Automatizace "neautomatizovatelných" úloh

1. 2. 2000

Sdílet

Tak jako mytí auta nebo příprava pokrmu jsou procesy skládající se z vícepodprocesů, i na počítači. Když chceme dokončit např. proces přesunutí dokumentu na druhý počítač pomocí...

Tak jako mytí auta nebo příprava pokrmu jsou procesy skládající se z více
podprocesů, i na počítači. Když chceme dokončit např. proces přesunutí

dokumentu na druhý počítač pomocí FTP (File Transfer Protocol), skládá se naše

činnost z několika podprocesů. Toto nebývá problémem do té doby, dokud se

velice podobný proces neopakuje rutinně dnes a denně. Právě o tuto tematiku

lehce, a pokud možno co nejvíce populárně zavadíme v dnešním Internet Download

Centru. Vybavuje-li se vám v souvislosti s tímto tématem slovo makro-rekordér,

jste velmi blízko. Programy dále zmiňované jsou také schopny simulovat stisky

kláves a klikání myší, což je sekundární činnost makro-rekordérů přehrání

zaznamenaného makra. Makro-rekordéry mají ale tu zásadní nevýhodu, obzvlášť

pokud nahrané makro není „ručně“ modifikovatelné, že jsou silně závislé na

systémových nastaveních a zejména na nastavení GUI (grafického uživatelského

rozhraní).

Auto Files 1.211,4 MB; http://autofiles.hypermart.net

Auto Files je nástroj zejména pro automatizaci opakovaně prováděných úloh.

Pokud by se jednalo o jednoduchou úlohu, nabízí se použití obyčejného

plánovače. Úlohy ale bývají často složitější a hlavně bývá nutné k uskutečnění

úlohy provést více kroků, a to mimo rámec jedné aplikace. Abychom byli trochu

konkrétnější, povězme si, jak to funguje.

Aplikace Auto Files udržuje seznam úloh (jobs), což jsou skripty sekvenčně

udávající postup, který vede k ucelenému zpracování požadovaného úkolu, jenž za

normálních podmínek vyžaduje větší či menší úroveň uživatelské interakce.

Nejběžnější typ uživatelské interakce je spuštění aplikace, uzavření aplikace,

kopírování, mazání, komprimace (dekomprimace) souborů, či připojení na RAS

(např. telefonické připojení sítě alias dial-up networking), přenesení souborů

a odpojení. Při manuálním provádění těchto úkonů máte sice větší kontrolu nad

celým procesem, ale může to velmi zdržovat. Auto Files může mnoho práce

zvládnout za vás. Následující akce mohou být zařazeny do skriptu, pokud

nainstalujete všechny plug-iny s Auto Files standardně dodávané:

- vytáčené připojení k síti (RAS)- operace s okny aplikací vytažení okna vpřed

(focus), maximalizace, minimalizace, obnovení, zavření, skrytí a odkrytí

- vestavěný přenos souborů přes TCP/IP FTP download i upload, HTTP download

- vestavěné posílání pošty (SMTP) a kontrola pošty (POP3)

- komprimace a dekomprimace ve standardizovaném formátu ZIP

- spuštění a ukončení servisu ve Windows NT

- zobrazení dialogového okénka se zprávou, popřípadě doprovázeno zvukem

- spuštění další aplikace a jakéhokoliv souboru asociovaného s aplikací

- kopírování, přesun, mazání souborů

- synchronizování složek (jednosměrně či obousměrně)

- spuštění další úlohy definované v Auto Files

- vypnutí Windows (celého PC v případě ATX provedení)

- vytvoření textového souboru

- poslání zprávy WinPopup

- vytisknutí dokumentu

- odeslání simulovaného stisku klávesy vybrané aplikaci

- vynucení libovolně dlouhé pauzy ve skriptu mezi jednotlivými kroky.

Jestli vám tento výčet zní slibně, přečtěte si se stejným zájmem i výčet

následující, jenž specifikuje podmíněnost jobů. Spuštění jobu (trigger) nemusí

být prováděno jen ručně nebo naplánováno na předem známý čas. Naopak, start

jobu může být závislý na předem časově neodhadnutelných okolnostech, které však

mohou mít velmi vysokou informační hodnotu:

- změna času- docházející baterie PC- změna tiskové fronty (souvisí se změnou

tiskárny)- změna zařízení (např. přidání nebo odebrání plug & play zařízení)

- změna palety

- změna nastavení displeje

- stisknutí klávesové zkratky

- vypínání počítače

- změna obsahu vybraného adresáře

- klepnutím na tray ikonu.

Job potom sám reportuje svůj stav v jedné z následujících pěti možností:

- Manual run job může být spuštěn jen ručně a přímo z programu Auto Files- Idle

job čeká na první vyhovující podmínku, aby se vzápětí spustil- Disabled job je

blokován- Runned job je spuštěn- Stopped job byl manuálně zastaven (přerušen).

I když program do současné verze nepodporuje větvení jobů podle výsledků

jednotlivých kroků, intuice nám napovídá, že do budoucna se s tím pravděpodobně

počítá. Skriptovací jazyk už v současné verzi podporuje zástupné předdefinované

proměnné jako např. %DayOfWeek%, které je pro volající akci nahrazeno skutečnou

hodnotou v tomto případě aktuálním dnem. Vedle předdefinovaných proměnných

můžeme definovat své vlastní proměnné (user variables), rovněž z obou stran

uzavřené symbolem „procento“. V současné době se oba typy proměnných dají

využít k velice elementárním účelům, ale v budoucnu by mohly být součástí

základny pro větvené skriptování.

Pokud jste se už někdy zabývali problematikou automatizace úloh ve Windows,

nutně jste zde museli postrádat odpověď na to, jak zacházet s aplikací, která

přímo za svého běhu vyžaduje interakci od uživatele. Např. ukončující se

aplikace na vás může vznést dotaz „Chcete před ukončením aplikace uložit

všechny dokumenty?“. Jakmile se hláška obdobného stylu objeví na obrazovce, je

veškerá automatizace tatam. Tedy pokud nejste schopni pomocí skriptu aplikaci

říci, že byla stisknuta určitá klávesa nebo klávesová kombinace, případně

stisknuto některé z tlačítek myši na vhodné pozici. Ani jedno z toho však

program Auto Files v současné verzi neumí, ale nic vám nebrání kombinovat Auto

Files s jinými produkty, které toto dovedou.

Licence: shareware, 49 USD, zkušební doba 30 dníOperační systém: 32bitová

Windows

AutoIt 2.32360 KB;http://www.hid­densoft.com/AutoIt

AutoIt je aplikací, kterou je možné naprosto bez problémů používat samostatně.

Je velice silná a disponuje low-level („nízkoúrovňovými“) možnostmi, jimiž

např. výše uvedený Auto Files nedisponuje. AutoIt ale není tak fantasticky

snadno skriptovatelný jako Auto Files a nízkoúrovňové služby jej dělají velmi

obtížně přenositelným zejména co se národního prostřední operačního systému a

aplikací týče. Nabízí se nám provést většinu akcí v Auto Files, a v případě

nutnosti sáhnout po AutoItu. Skripty AutoItu sice nejsou kompatibilní se

skripty AutoFiles, ale program AutoIt je dodáván s run-time modulem, takže

výsledným „skriptem“ AutoIt může být spustitelný Win32 soubor, který lze velmi

pohodlně zavolat programem Auto Files.

Pokud namítáte, že jsme věc až příliš překombinovali, zkuste si vzít reálný

problém a zrealizovat ho. Skriptování AutoItu není pro programátora nijak

složité, avšak i pro pokročilého uživatele je odrazující když vidí u konkurence

něco „klikacího“. Navíc AutoIt nemá triggerovací možnosti jako Auto Files a

nemá vestavěné plug-iny, významně usnadňující a lépe zabezpečující nejběžněji

používané akce. Je-li ale bezpodmínečnou nutností odkliknout nějaký dialog,

AutoItu (nebo obdobně silnému programu) se nevyhneme.

Stručný přehled základních funkcí:

- vytváření smyček a podpogramů (sub-routines)- přidání a manipulace s

proměnnými- detekce existence okna- detekce aktivního okna- zobrazení

informačního dialogu- zobrazení vstupního dialogu- čtení a zápis

standardizovaného INI souboru

- simulace kliknutí myší

- simulace tažení myší

- simulace pohybu myši

- spuštění programu

- čekání na spuštění programu

- simulace stisku klávesy (libovolné a nezávisle na prostředí)

- vypnutí nebo restartování Windows

- vynucení pauzy

- uzavření okna/aplikace

- bezpodmínečné (násilné) uzavření okna/aplikace

- skrytí a zpětné zobrazení okna

- obnovení (restore), minimalizace a maximalizace okna

- přesunutí okna, nastavení nových dimenzí.

Licence: freewareOperační systém: 32bitová Windows

Automate 44 MB;http://www.unisyn.com/automate/

Vysoce profesionální, ale trochu nákladnější řešení je Automate 4. Na první

pohled aplikace velice podobná Auto Files, ale nabízí velice užitečné a

komfortní funkce, které Auto Files postrádá. Následující podmnožina akcí,

dostupných v Automate 4, svědčí o jeho přednostech:

- spuštění DDE (dynamic data exchange) příkazu. Pokud aplikace, jíž chceme

automatizovat, podporuje DDE, je toto velmi silná a poměrně bezpečná cesta-

ping vzdáleného IP adresovatelného zařízení. Podle výsledku je možné přerušit

job nebo spustit job další

- FTP upload, download a další velmi užitečné funkce

- použití schránky (clipboardu)

- zabezpečení dočasné zamknutí myši a klávesnice

- spuštění Visual Basic skriptu.

Výše uvedené akce mohou být zapnuty následujícími událostmi:

- horkou klávesou nebo sérií po sobě následujících stisků- objevením

specifikovaného okna- počítač je ve stavu idle nezpracovává se žádná úloha- při

startu Automate 4– spuštěním spořiče obrazovky

- odlogování uživatele ze systému

- změna času

- volná paměť systému klesla pod danou mez

- přidání/odebrání zařízení

- změna nastavení obrazovky

- změna palety

- změna spooleru.

Reakce na změnu obsahu složky zde není podporována. Úlohy mohou být dále

chráněny heslem před neautorizovaným použitím a mohou být priorizovány. Funkcí

\Deploy\ je možné asociovat k jobu lokální i vzdálené soubory, které používá, a

tím se usnadní přenositelnost jobů na jiné počítače. Toto lze vhodně využít při

nainstalování samostatného serverového balíku AES (Automate Enterprise Server).

Licence: shareware, 59,95 USD, zkušební doba 30 dníOperační systém: 32bitová

Windows