RUNNER
by PanSoft
http://home.comset.net/panoff/runner
Instrukcja obsługi
Wersja Polska - Cardano 2000
cardano@kki.net.pl
SPIS TREŚCI
1. KRÓTKI OPIS
2. KONCEPCJA PROGRAMU
3. PLIK TERMINARZA
4. SKŁADNIA
5. INSTRUKCJE
6. SŁOWA KLUCZOWE
7. OPCJE
8. PROGRAMY POD DOS
9. WERSJA 2.17
1. KRÓTKI OPIS
RUNNER jest programem stworzonym do automatycznego uruchamiania aplikacji w wybranym momencie, bez ingerencji użytkownika. Można go używać do zamykania systemu Windows lub zamykania programów zgodnie z kalendarzem zdarzeń. Możliwe jestemulowanie zdarzeń zwiazanych z klawiaturą i myszką, sprawdzanie plików, odgrywanie dźwięków czy sprawdzanie poczty, etc. Powyższe czynności Runner może wykonywać:
- raz dziennie
- raz w tygodniu określonego dnia
- w danym miesiącu
- w dni robocze
- w pierwszy lub ostatni dzień miesiąca lub tygodnia
- każdego dnia
- w dzień określony datą
- w dzień parzysty lub nieparzysty
- w zmiennych interwałach od podanego momentu
Pełną kontrolę nad czasem w programie uzyskuje się dzięki następującym możliwościom:
zdarzenie o określonej godzinie i minucie
- zdarzenie co pewien czas
- zdarzenie po pewnym czasie od momentu uruchomienia Runnera (w minutach)
- zdarzenie po pewnym czasie od zaistnienia innego zdarzenia (w sekundach)
- zdarzenie po pewnym czasie od załadowania pliku terminarza działań
- zdarzenie przy zamykaniu Runnera lub systemu
- zdarzenie w przypadku, gdy kursor znajduje się w jednym z rogów ekranu
Poza tym, możliwe jest używanie symboli wieloznacznych zamiast jednej lub kilku cyfr w dacie bądź godzinie. Komendy mogą być również wykonywane okresowo, począwszy od zadanego momentu. Cykl taki może także zakończyć się w określonym czasie. Programy mogą być uruchamiane w stanie zminimalizowanym, zmaksymalizowanym czy ukrytym. Możliwe jest też manipulowanie oknami aplikacji - zamykanie, minimalizowanie, przenoszenie, zwiększanie, ukrywanie etc., a także wysyłanie do aplikacji zdarzeń związanych z klawiaturą czy myszką. Runner pozwala na dodawanie własnych opcji do menu programu. Program posiada wbudowaną:
- możliwość tworzenia okienek informacyjnych
- wskaźnik wykorzystania pamięci RAM
- możliwość odgrywania dżwięków typu WAVE
- możliwość wstrzymywania systemu
- możliwość połączenia z serwerem POP3
- stan uśpienia
- kontrolę plików i folferów
Dodatkowo pakiet posiada moduł Rupdater.exe służący do zmiany ustawień programu, bez jego wyłączania. Większość zdarzeń może być zapisywana w pliku dziennika.
2. KONCEPCJA PROGRAMU
Runner potrzebuje do działania tekstowego pliku terminarza, w którym umieszcza się harmonogram zdarzeń. Ścieżka i nazwa tego pliku może być umieszczona w linii poleceń programu. Jeżeli uruchomimy Runnera bez argumentów zostanie wczytany domyślny plik terminarza rcomm.txt, znajdujący się w katalogu roboczym programu. Można również użyć modułu Setup.exe do zdefiniowania domyślnego pliku harmonogramu. Załadowanie terminarza ma miejsce w momencie uruchomienia Runnera oraz o godzinie 00:00. Przy próbie uruchomienia więcej niż jednej kopii programu otrzymamy komunikat "Runner already loaded" i druga kopia zakończy działanie. Żeby wyłączyć sprawdzanie, czy kopia programu jest uruchomiona, należy użuć opcji /b w linii poleceń np. "C:\Runner\runner.exe" /bC:\Runner\shedule.txt. Plik terminarza powinien mieć następującą strukturę:
;komentarz
[sekcja 1]
komenda 1
komenda 2
........
komenda N
;komentarz
[sekcja 2]
komenda N+1
komenda N+2
........
komenda N+M
Pierwsza (lub jedyna) sekcja może nie mieć komentarza. Zaleca się na końcu pliku dziennika uzycie instrukcji ex, ktora kończy pracę programu. Poleca się również umieszczenie skrótu do Runnera w autostarcie.
3. PLIK TERMINARZA
Plik terminarza jest podzielony na sekcje, ktore grupują komendy, mające wykonać się jednego dnia. Domyślny format nagłówka sekcji wygląda następująco:
[*nazwa sekcji*]
Nazwa sekcji składa się z dwóch znaków (z wyjątkiem sekcji z okreslonym dniem miesiaca). Wielkość liter nie ma znaczenia. Nagłówek sekcjimoże również zawierać informacje dodatkowe.
Nazwa sekcji określa dzień wykonania danej sekcji i tak:
- wykonywanie codziennie - ev
- w dni tygodnia:
- poniedziałek - mn
- wtorek - tu
- środa -we
- czwartek -th
- piątek - fr
- sobota - sa
- niedziela - su
- określony dzień miesiąca (pierwszy poniedziałek, ostatnia niedziela etc.) - jak w dni tygodnia + cyfra określająca, ktory dzień miesiąca (dla ostatniego dnia miesiąca można uzyć litery 'L') np. drugi poniedziałek miesiąca - [mn 2]
- dni robocze - wo
- weekendy - wd
- ostatni dzień każdego miesiąca - la
- pierwszy lub ostatni dzień roboczy lub weekend (pierwszy z litera 'F', ostatni z 'L') np. [wo f] oznacza pierwszy dzień roboczy miesiąca
- dni parzyste - en
- dni nieparzyste - od
- w określonych odstępach - in, poczynając od określonej daty zapisanyj w formcie DD.MM.RR (separatory nie mają znaczenia, każdy element daty może zostać opuszczony np. .MM.) np. [in 10 10.10.] - wykonanie sekcji 10, 20 i 20 października bieżącego roku.
Istnieją dwie sekcje specjalne, mianowicie op i mu, zawierające opcje i menu użytkownika. Sekcje te są interpretowane w specjalny sposób i należy zwróciś szczególną uwagę na zachowanie odpowiedniego formatu zapisu.
4. SKŁADNIA
Każda sekcja (z wyjątkiem [mu] i [op]) składa się z komendy i komentarza, ktory moze być umieszczony dzięki zachowaniu odpowiedniej składni. Jeżeli na początku linii wystąpi znak średnika, to zostanie ona w całości zignorowana przez program. Każda linia komend składa się z czterech części: etykiety oznaczającej jednorazowe wykonanie (opcjonalnie), pola czasu, komendy i komentarza (opcjonalnie). Pola czasu i komendy mogą być od siebie oddzielone spacją.
Etykieta musi być zawsze oddzielona od pola czasu znakiem dwukropka. Umieszczenie komantarza w linii wraz z polem czasu i komendą wymaga zastosowania kombinacji znaków *! przed tekstem . Jeżeli linia komend jest zbyt długa i nie może być oglądana bez przewijania, może zostać podzielona na kilka części. Umieszczenie kombinacji znaków *+ na końcu linii oznacza, że następna linia jest kontynuacją poprzedniej. W każdej linii będącej kontynuacją poprzedniej tekst komentarza można umieszczać po znaku dzielenia. Schemat linii komend wygląda następująco:
;Komentarz
.Etykieta:Czas-Czas{interwał -czas_zakończenia} komenda *! komentarz
Czas można wyrażać na cztery sposoby:
- bezpośrednio, tz. GG:MM (wszystkie cyfr są wymagane, łącznie z zerami), np. 05:30. Wmiesce jednej lub kilku cyfr można użyć symbolu wieloznacznego *. Jeżeli linia komand ma pole czasu postaci **:**, oznacza to, że komenda będzie wykonywana co minuta. Jeśli pole czasu ędzie wyglądać np. tak 1*:15, znaczy to, że komenda wykona się o godzinie 10:15, 11:15 ..., aż do 19:15 włącznie. Pole czasu może zostać wzbogacone o interwał czasowy. W tym przypadku komenda będzie wykonywać się począwszy od danej godziny co określony czas np. zapis 10:00 {15-12:00} >komenda oznacza, że komenda będzie się wykonywać co 15 minut pomiędzy godziną 10:00 a 12:00. Możliwy jest również zapis 10:00-12:00 >komenda, który oznacza, że komenda wykona się o godzinie 10:00 i przy odświeżeniu terminarza (przy resecie Runnera).
- z opóźnieniem od momentu uruchomienia Runnera: ^XXX, gdzie XXX oznacza opóźnienie w minutach, np. ^10 - dziesięć minut po uruchomieniu Runnera (zapis ^ oznacza to samo co ^0).
- z opóźnieniem od chwili odświeżenia terminarza: ~XXX, gdzie XXX oznacza opóźnienie w minutach, np. ~10 - dziesięć minut po odświeżeniu terminarza (po resecie z menu Runnera lub po instrukcji re).
- z opóźnieniem od momentu wykonania poprzeedniej komendy: +XXX, gdzie XXX oznacza opóźnienie w sekundach. Należy pamiętać, że niedopuszczalna jest spacja pomiędzy znakiem + a liczbą określającą wartość opóźnienia. W tym przypadku nie ma możliwości cyklicznego wykonywania komend, natomiast nie ma ograniczeń co do liczby linii zaczynających się znakiem +, jedynie pierwsza linia w takiej grupie musi zaczynać sie w jeden z wcześniejszych sposobów. Dopuszczalne jest niepodawanie żadnej komendy po liczbie określającej opóźnienie.
Runner umożliwia również wykonywanie komend po zajściu zdarzenia. Aby zdefiniować taką linie komend, należy podać niemożliwą wartość pola czasu np. godzina > 23. Poniżej znajdują się rozpoznawane wartości:
- 97:XX - aby wykonać komendę, jeśli kursor znajduje się w jednym z rogów ekranu przez 0,4 sekund. XX oznaczają rogi ekranu: 00 - górny-lewy, 01 - górny-prawy, 02 - dolny-lewy, 03 - dolny-prawy. Dla jednej pozycji może być przypisanych kilka komend.
Przykład: 97:01 "C:\Windows\Matrix.scr" /s - uruchamia wygaszacz ekranu, jeśli kursor znajdzie się w górnym-prawym rogu.
- 98:XX - wykonuje komendę przy zamknięciu systemu
- 99:XX - wykonuje komendę przy zamknięciu Runnera
Używanie etykiety oznaczającej jednorazowe wykonanie umożliwia wykonanie komendy raz dziennie, niezależnie od tego, w jaki sposób został wyrażony czs wykonania. Etykieta musi byc umieszczona na początku linii, przed polem czasu, i musi posiadać następującą strukturę:
.Identyfikator:
Runner umożliwia także powtarzalne wykonywanie komend. W tym celu za polem czasu podaje się wnawiasach {} odstęp czasu w minutach pomiędzy wykonaniami komendy, np. ^000{10} komenda - oznacza wykonanie komendy w momencie startu Runnera i co każde następne 10 minut. Aby określić czas zakończenia cyklu, należy go umieścić w nawiasie {}, po liczbie określającej interwał i znaku -, np. 08:00 {10 -17:00} >cm=>ce=Masz wiadomość !!! - od 8:00 do 17:00 będzie sprawdzana poczta.
Jeżeli komenda zawiera ścieżkę do aplikacji, będzie ona ustawiona jako domyślna dla danego programu, z wyjątkiem aplikacji uruchamianych przez linie poleceń Windows (zobacz modyfikator #).
Za pomocą specjalnych modyfikatorów możliwe są różne sposoby uruchamiania aplikacji, stanu okien czy zapisywania zdarzeń do dziennika. Należy je umieszczać przed polem ze ścieżką do programu, niewięcej niż jeden, dla jednego programu. Rozróżniane są następujące modyfikatory
- stan okna uruchamianej aplikacji ustawia się za pomocą znaków: , (przecinek), ' (apostrof) i ? (znak zapytsnia), które oznaczają uruchomienie programu w stanie odpowiednio: zminimalizowanym, zmaksymalizowanym oraz ukrytym (bez widocznego okna i ikonki w zasobniku systemowym). Ostatnią metodę należy stosować ostrożnie. Nie poleca się używać tego sposobu dla aplikacji wymagających interakcji ze strony użytkownika.
Przykłady:
09:30 ,C:\Windows\Notepad.exe - uruchomienie notatnika w stanie zminimalizowanym
09:30 'C:\Windows\Notepad.exe - uruchomienie notatnika w stanie zmaksymalizowanym
09:30 ?C:\Windows\Notepad.exe - uruchomienie notatnika w stanie ukrytym
- modyfikator # określa sposób uruchamiania programu. Jeśli nie występuje on w linii polecenia, oznacza to, że zostanie utworzony nowy proces. Sposób ten dopuszczalny jest tylko dla aplikacji, np.
08:00 C:\Windows\Notepade.exe - uruchomienie notatnika
08:00 command /c MD Nowy_kat - utworzenie katalogu
Możliwe jest również uruchamianie programów przez skróty, a także otwieranie plików zarejestrowanych typów (równoważne podwójnemu kliknięciu na ikonę lewym klawiszem myszy). W tym przypadku przed scieżką do pliku należy umieścić modyfikator #. Za nim można podawać ścieżki do katalogów, skrótów, plików zarejestrowanych typów, czy adresów URL.
Przykłady:
06:00 #C:\Windows\Tips.txt - otwarcie pliku tekstowego w domyślnym programie dla typu .txt
~ #http://home.comset.net/panoff/runner - otwarcie strony domowej Runnera
5. INSTRUKCJE
Wewnętrzne instrukcje programu Runner pozwalają na kontrolę pracy programu i planowanie zadań. Mogą być one zaplanowane na określoną chwilę, lub też wykonać się po zaistnieniu pewnego zdarzenia. Pole polecenia w przypadku stosowania instrukcji musi zaczynać się znakiem > (wiekszości). W sytuacji, gdy używamy instrukcji nie należy stosować modyfikatorów. Poniżez najduje się opis instrukcji programu Runner.
5.1. Instrukcje kontrolujące pracę Runnera.
- ex
- zakończenie pracy programu, np. 23:59 >ex
- sl=XX
- uśpienie Runnera na XX minut. w tym przypadku wykonywanie poleceń zostanie zatrzymane na określony czas, ikona w zasobniku systemowym będzie ukryta.
Przykład: 01:00 >sl=240 - uśpienie programu na 240 minut.
- re
- odświeżenie terminarza. Polecenia, które byly ustawione na wykonanie się w momencie startu Runnera nie zostaną wykonane.
Przykład: 06:00 >re - przeładuj terminarz o godzinie 6:00
- hd
- ukrycie ikony Runnera. Bez ikony na pasku zasobnika systemowego program kontynuuje pracę ale jest niedostępny.
Przykład: 09:30 >hd - ukrycie Runnera o 9:30. Aby pokazać ikonę na pasku nalezy w okręślonym momencie użyć instrukcji sw lub uruchomić drugą kopię programu (wtedy druga kopia pokaże komunikat, że program jest już uruchomiony i pokaże ikonę pierwszej kopii).
- sw
- pokazanie ikony Runnera. Działa odwrotnie do instrukcji hd.
Przykład: 18:30 >sw - pokazanie ikony Runnera o 18:30
- ss nazwa_pliku
- zapisuje dane sesji do pliku o podanej nazwie (domyślnie Runner.sss). Kiedy wykonywane są instrukcje cb lub cf, dane dotyczące wykonywania poleceń, tj. komunikaty czy stany plików, są umieszczane w liście w pamięci RAM. Przy zamknięciu Runnera dane te zostają utracone. Przy ponownym uruchomieniu programu Runner korzysta z danych tylko z aktualnej sesji. Użycie instrukcji ss pozwala zapisać dane sesji, i wykorzystać je przy kolejnym uruchomieniu Runnera. Zaleca się zapisywanie zdarzeń przy wychodzeniu z programu lub zamykaniu systemu (99:XX i 98:XX).
Przykład: 99:00 >ss log.txt - zapisuje dane sesji do pliku log.txt przy zakończeniu przez Runnera pracy.
- rs nazwa_pliku
- wczytanie pliku z danymi poprzedniej sesji. Ta instrukcja jest uzupełniniem instrukcji ss. Należy ją umieścić w pierwszej linii sekcji, tak, aby wykonywała się przy uruchamianiu Runnera tj. ^0.
5.2. Instrukcje kontrolujące pracę programów.
- cw=nazwa
- zamyka okno, które w belce tytułowej zawiera podaną nazwę. Akcja ta jest równoważna z wciśnięciem X w prawym-górnym rogu okna lub naciśnięciem Alt+F4. W przypadku tej , jak i poniższych instrukcji, wielkość liter ma znaczenie. W czsie poszukiwania okienka zawierająceko w tytule podaną nazwę będą sprawdzana wszystkie okna otwarte w systemie i instrukcja cw zostanie wysłana do wszystkich znalezionych okien. Jeśli aplikacja ma niezapisany dokument, pojawi się zapytanie, czy chcemy go zapisać.
Przykład: 12:00 >cw=Notatnik - zamyka notatnik o godzinie 12:00
Instrukcja cw jest przestarzała i zostanie usunięta w przyszłych wersjach. W zastępstwie należy używac instrukcji fw.
- dw=nazwa
- kończy działanie aplikacji o podanej nazwie. Ta instrukcja przerywa działanie programu w sposób podobny do naciśnięcia klawiszy Ctrl+Alt+Del. Wszystkie niezapisane dane zostaną utracone. Możliwe są również inne problemy np. brak pamięci. Instrukcja dw jest przestarzała i zostanie usunięta w następnych wersjach programu. W zastępstwie należy używać instrukcji fw.
- en=nazwa
- wysyła 'Enter' do okienka zawierającego w tytule daną nazwę. Instrukcja ta jest najczęściej używana do naciśnięcia domyślnego przycisku (domyślnie aktywnego).
Przykład:
06:00 scandskw c: - uruchomienie programu ScanDisk
+2 >en=ScanDisk - wysłanie 'Enter' po 2 sekundach od wykonania poprzedniego polecenia
06:30 >dw=ScanDisk - kończy działanie programu
Instrukcja en jest przestarzała i zostanie usunięta w następnych wersjach programu. W zastępstwie należy używać instrukcji fw.
- fw
- znajduje okna aplikacji. Instrukcja ta znajduje okna aplikacji i pozwala je kontrolować (zmieniać wielkość, przenosić, zamykać, emulować zdarzenia związane z klawiaturą bądź myszką). Dodatkowo, instrukcja ta umozliwia wykonanie polecenia w odpowiedzi na znalezienie w systemie danego okna aplikacji. Każde okno w systemie ma właściwość 'text' (dla niektórych okien właściwość ta może nie mieć przypisanej wartości). Dzięki temu możliwe jest znalezienie zarówno okien nadrzędnych (Top-level), jak i podrzędnych (przyciski, pola tekstu, pola edycji) zawierających określony tekst. Teks okna nadrzędnego jest umieszczany w belce tytułowej, natomiast w przypadku okien podrzędnych (elementów kontrolnych) wewnątrz okna. Poza właściwością 'text', każde okno posiada właściwość 'class', która jest nazwą klasy danego okna (ta właściwość ma zawsze przypisaną jakąś wartość). Format instrukcji fw jest nieco złożony:
czas >fw{kryterium}=polecenie
Pole kryterium składa się z trzech części:
kryterium_okna_nadrzędnego;kryterium_okna_podrzędnego
Kryterium okna nadrzędnego jest to tekst zawarty w nazwie szukanego okna lub w nazwie klasy. Kryterium okna podrzędnego (kryterium kontrolki) to tekst zawarty w nazwie szukanego okna lub w nazwie klasy. Oba pola należy oddzielić średnikiem. W przypadku pominięcia kryterium okna nadrzędnego, przeszukane zostaną wszystkie okna nadrzędne. Jeśli pominiemy kryterium okna podrzędnego z zachowaniem rozdzielającego średnika, zostaną znalezione domyślnie aktywne elementy kontrolne okien zawierających w tytule określony tekst. Pominięcie średnika sprawi, że przeszukiwane będą wszystkie okna nadrzędne. Jeśli natomiast wszystkie tzry elementy będą istniały, zostanie znalezione okno nadrzędne odpowiadające kryterium okna nadrzędnego, a następnie jego okno podrzędne odpowiadające kryterium okna kontrolnego. Aby poszukiwać określonego tekst w nazwie klasy należy kryterium poprzedzić znakiem : (dwukropek).
Przykłady:
>fw{Okno;Przycisk} - poszukuje elementu kontrolnego (przycisku) zawierającego tekst 'Przycisk', należącego do okna zawierającego w tytule tekst 'Okno'
>fw{Okno;} - poszukuje aktywnego elementu kontrolnego okna, zawierającego w tytule tekst 'Okno'
>fw{Okno} - poszukuje okna zawierającego w tytule tekst 'Okno'
>fw{::TForm} - poszukuje okna, którego nazwa klasy zawiera teks TForm
>fw{;Przycisk) - poszukuje elementu kontrolnego zawierającego tekst 'Przycisk' w każdym oknie nadrzęnym w systemie
>fw{;} - w tym przypadku zostaną wybrane wszystkie aktywne elementy wszystkich okien nadrzędnych w systemie
>fw{} - w takiej sytuacji zostana wybrane wszystkie okna nadrzędne w systemie
Pole polecenie powinno być w formacie instrukcja=argument (opcjonalny). Dopuszczalne instrukcje to:
- cl - zamknięcie okna
- dy - przerwanie pracy aplikacji do ktoórej należy okno
- kp - emulacja klawiatury (opis w osobnym rozdziale); pozwala przesyłać zdarzenia związane z naciskaniem klawiszy. Opcja ta jest w fazie eksperymentów i autor programu nie gwarantuje jej poprawnego działania.
- lc=X,Y - emulacja wciśnięcia lewego klawisza myszy w punkcie X,Y wybranego okna. Jeżeli wartości X i Y nie zostaną podane, program domyślnie przyjmie współrzędne 0,0 (Wskaźnik myszy nie zostanie przesunięty do określonego punktu)
- rc=X,Y - emulacja naciśnięcia prawego klawisza myszy
- dl=X,Y - emulacja podwójnego kliknięcia lewym przyciskiem myszy
- dr=X,Y - emulacja podwójnego kliknięcia prawym przyciskiem myszy
- mv=argumenty - zmiana pozycji lub wielkości okna. Argumenty określają parametry okna i ich nowe wartości. Argumanty mają następujący format: l:Lewy,t:Góra,w:Szerokość,h:Wysokość.
- sh=argument - zmiana stanu okna (pokaż/ukryj/minimalizuj/maksymalizuj). Dopuszczalne argumenty to: mi - minimalizacja, ma - maksymalizacja, hi - ukrycie, bez argumentu - pokazanie okna.
5.3. Instrukcje dodatkowe
- st
- przełączenie systemu w stan uśpienia. Użycie modyfikatora ! spowoduje wybranie metody całkowitego uśpiena. Pominięcie modyfikatora spowoduje wybranie metody z działającą pamięcią RAM
- me=tekst
- okno informacyjne systemu Windows (MessageBox). Użytkownik może zdefiniować jedynie tekst. Okno dialogowe pojawi się na wierzchu (dotyczy to również wygaszacza ekranu). Przykład: 08:00 >me=Hello world !!!
- pl=ścieżka/nazwa_pliku_wave
- odegranie pliku dźwiękowego WAVE. Nazwa pliku musi być podana wraz z rozszerzeniem. Niepodanie nazwy pliku lub jego nieznalezienie spowoduje odtworzenie domyślnego dźwięku Windows. Przykład: 08:00 >pl=alarm.wav
- cb{adres_serwera_poczty:port(opcjonalnie);nazwa_uzytkownika;haslo} - sprawdza konto pocztowe na określonym serwerze.
Przykład:
**:00 >cb{polbox.com;Ktos;Haslo}=>me=Masz Widomość !!! - o każdej pełnej godzinie będzie sprawdzana poczta; w przypadku nowej wiadomości na koncie pojawi się okno informacyjne.
- cf{argument}=polecenie
- sprawdzenie stanu plików i katalogów Dzięki tej instrukcji możliwe jest wykonanie polecenia w przypadku zmiany daty określonego pliku lub liczby plików w katalogu. Pole argumentów musi mieć nastepującą strukturę: {ścieżka;plik;głębokość;typ}. Parametry ścieżka i plik określają odpowiednio katalog i plik, którego stan będzie sprawdzany. Nazwa pliku może zawierać symbole wieloznaczne. Głębokość należy określić, jeżeli chcemy katalog przeszukiwać rekursywnie (z podkatalogami). Brak tego parametru spowoduje wyłączenie rekursji. Parametr typ określa co Runner ma sprawdzić: * - sprawdzenie czasu ostatniej zmainy, + sprawdzenie zwiększenia liczby plików, - sprawdzenie, czy liczba plików zmniejszyła się, 1 - sprawdzenie istnienia pliku, 0 - sprawdzenie, czy plik nie istnienieje. Jedynym wymaganym argumentem jest ścieżka. Brak innych parametrów spowoduje przyjęcie następujących wartości domyślnych: *.* - pliku, 0 - głębokość, * -typ. Pzry pierwszym wykonywaniu tej instrukcji stan pliku jest zapisywany, jeżeli przy kolejnym wykonaniu stan ten będzie inny, zostanie wykonane polecenie.
Przykład:
**:00 >cf{D:\Docs;*.doc;0;*}=xcopy D:\Docs\*.* C:\Docs /e /d - o każdej pełnej godzinie będą sprawdzana pliki .doc z katalogu D:\Docs, i jeżeli któryś z nich został zmieniony, wszystkie zostaną przekopiowane do katalogu C:\Docs.
- wl=teks
- dopisanie tekstu do pliku dziennika, np. 12:00 >wl=Samo południe !!! - zapisanie w pliku dziennika linijki Wed, 5 Apr 2000 12:00 samo południe !!!
6. SŁOWA KLUCZOWE
W programie Runner możliwe jest uzywanie specjalnych słów kluczowych zwanych również zmiennymi wewnętrznymi), zaczynających się znakiem ?. Słowa kluczowe przed wykonaniem instrukcji są zastępowane odpowiednimi wartościami. W zapisie tych słów wielkość liter ma znaczenie. Istnieją nastepujące słowa kluczowe:
- ?TODAY - zmienna zostaje zastąpiona aktualna datą w formacie DD.MM.RR
- ?DAY-XX - zmienna zostaje zastąpiona datą w formacie DD.MM.RR sprzed XX dni
- ?DATE__ - zmienna zostaje zastąpiona aktualną datą w formacie RRRRMMDD
- ?TIME__ - zmienna zostaje zastąpiona aktualną godziną w formacie GG:MM:SS
- ?DAT-XX - zmienna zostaje zastąpiona datą w formacie RRRRMMDD sprzed XX dni
- ?USER - zmienna zostaje zastąpiona nazwą zalogowanego użytkownika
- ?HOST - zmienna zostaje zastąpiona nazwą komputera
7. OPCJE
Opcje umożliwiają zmianę niektórych domyślnych wartości oraz poszerzają funkcjonalność programu. Umieszcza się je w specjalnej sekcji rozpoczynającej się nagłówkiem [op]. Nie ma żadnych ograniczeń odnośnie położenia tej sekcji w pliku terminarza czy jej wielkości. Nie można natomiast mieszać tej sekcji z sekcją wykonywalna. Niektóre opcje nie maja parametrów, inne zaś posiadają parametry, które umieszcza sie po prawej stronie nazwy opcji. Nazwy opcji składają się z dwóch liter i są następujące:
- ed
- ustawienie edytora dla pliku terminarza, który uruchomi się po pdwójnym kliknięciuna ikonie programu, lub wybraniu opcji Edit z menu.
Przykład:
ed=C:\Program Files\UltraEdit\Uedit32.exe - po podwójnym kliknięciu plik terminarza zostanie otwarty w programie UltraEdit
- dc
- zamiana domyślnego zdarzenia po podwójnym kliknięciu na ikonie Runnera. Domyślnie program otwiera plik terminarza w notatniku).
Przykład:
dc=>me=Runner !!! - po kliknięciu pojawi się komunikat o treści Runner !!!
- hd
- uruchomienie Runnera w stanie ukrytym, bez ikony w zasobniku systemowym. Jeżeli brak jest tej opcji, program uruchamia się normalnie, z ikonka w pasku.
- sd
- ustawia datę odniesienia (datę zerową)
- mc
- włącza i ustawia wskaźnik wykorzystania pamięci RAM. Program posiada wewnętrzny wskaźnik pamięci RAM, działający w oparciu o informacje od systemu Windows. Wskaźnik ten pokazuje wykorzystanie pamięci RAM na dwa sposoby: zmiana kolorów ikony Runnera w zależności od ilości wolnej pamięci (od zielonego pzrez żółty do czeronego) oraz wyświetlanie informacji po najechaniu kursorem nad ikonę programu. Domyślnie wartość przy której ikona Runnera ma kolor zielony wynosi 50%, natomiast dla kolory czerwonego - >20%. W przypadku podania dwóch wartości granicznych, dotyczą one koloru żółtego i czerwonego, zaś podanie jednej wartości dotyczy tylko kolory żółtego.
Przykład:
mc 30 10 - wskaźnik włączony, przy 30% wolnej pamięci ikona będzie miala kolor zółty, przy 10% - czerwony, w przypdaku gdy wolnej pamięci jest więcej niż 30% - kolor zielony
- nn
- wyłączenie informacji o błędach powstałych podczas wykonywania instrukcji
- lf
- ustalenie ścieżki dla pliku dziennika, np. lf C:\Windows\Temp\Log.txt
- le
- zapisywanie informacji o błędach do pliku dziennika
- ls
- zapisywanie czasu uruchomienia i zakończenia pracy Runnera
- lx
- zapisywanie czasu wykonania instrukcji
- lp
- zapisywanie informacji związanych z zarządzaniem energią
- lh
- zapisywanie ukrycia i pokazania ikony Runnera
- lr
- zapisywanie przeładowania (odświeżenia) pliku terminarza
- ll
- zapisywanie wykonania instrukcji sl
8. PROGRAMY POD DOS
Wiele programów napisanych dal systemu DOS wykorzystuje linię poleceń do przekazywania argumentów. Mogą być one uruchamiane przez Runnera tak jak aplikacje Windows, jednak rekomendowane jest użycie interpretatora poleceń COMMAND.COM z opcją /c gdzie /c oznacza zamknięcie okna DOS po wykonaniu programu (Win95/98) lub CMD.EXE (WinNT).
Przykład:
(Win95/98)
09:00 command.com /c xcopy c:\Moje dokumenty\*.* D:\Backup
(WinNT)
09:00 cmd /c xcopy c:\Moje dokumenty\*.* D:\Backup
9. WERJA 2.17
Nowości w wersji 2.17:
automatyczne zapisywanie do pliku dziennika. Instrukcje ss i rs zostały usunięte.
możliwość wprowadzania do linii poleceń dowolnych kodów ASCII (z wyjątkiem zero)
w zapisie dziesiętnym (?XX), ósemkowym (?0XX), szesnastkowym (0xXX) i binarnym
(0bXXXXXXXX)
?TODAYdd - dzień w formacie DD
?TODAYmm - miesiąc w formacie MM
?TODAYy2 - rok w formacie RR
?TODAYy4 - rok w formacie RRRR
?WEEKDAY - dzień tygodna (dwucyfrowy ?)
?YEARDAY - dzień roku (trzycyfrowy)
?TIME6 - czas w formacie GGMMSS
- nowe instrukcje do emulacji klawiatury i myszy
ie=makro
Makro zapisuje się według następujących zasad:
znaki aplfanumeryczne zapisuje się małymi literami
klawisze specjalne:
ESC ENTER SHIFT ALT CTRL SPACE CAPS TAB F1 .. F12 BS
INS HOME PGUP DEL END PGDN
UP DOWN LEFT RIGHT (strzałki)
PRINTSCREEN SCROLL (Scroll Lock) PAUSE
NUM0 .. NUM9 NUMPOINT GREY+ GREY- GREY* GREY/ GREYENTER
emulacja wciśnięcia klawisza (bez puszczenia) - znak < przed symbolem klawisza
emulacja puszczenia klawisza - znak > po symbolu klawisza
emulacja myszki:
LBUTTON - kliknięcie lewym przyciskiem
RBUTTON - kliknięcie prawym przyciskiem
DLBUTTON - podwójne liknięcie lewym przyciskiem
DRBUTTOM - podwójne kliknięcie prawym przyciskiem
MOVE(X,Y) - ustawienie kursora w punkcie ekranu o współrzędnych X,Y
MOVER(dX,dY) - przesunięcie kursora z aktualnej pozycji o dX,dY
MOVEW(x,y) - ustawienie kursora w punkcie x,y aktywnego okna
emulacja wciśnięcia (bez puszczenia) klawiszy myszki jak dla klawiatury
DELAY(XXX) - opóźnienie między poszczególnymi czynnościami makra w milisekundach (domyślnie 100)
dodatkowe instrukcje do manipulowania oknami:
ACT(xxxx) - ustawia okno zawierające tekst xxx jako aktywne
SHOW(xxxx) - pokazuje (przywraca) okno
HIDE(xxxx) - ukrywa okno
MIN(xxxx) - minimalizuje okno
MAX(xxxx) - maksymalizuje okno
CLOSE(xxxx) - zamyka okno
Użycie powyższych instrukcji bez nawiasu dotyczyć będzie tylko aktywnego okna, zaś z dopiskiem ALL w nawiasie - wszystkich okien.
WINMOVE(X,Y) - przesynięcie okna do punktu X,Y (lewy-górny róg)
WINMOVER(dX,dY) - przesunięcie względne okna o dX,dY od położenia aktualnego
PS.Przepraszam za błędy i wszelkie nieścisłości. Proszę informować o wszelkich pomyłkach.
Cardano 2000
cardano@kki.net.pl