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.hiddensoft.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