#skrypty

wszystkie notatki oznaczone etykietą "skrypty"

Archiwum pingera

Nowy mini-blog na moim twitterze już ładnie pracuje, a stary z pingera już wkrótce zniknie z sieci. Dzięki skryptowi get-pinger-timeline.pl z poprzedniego mojego wpisu wyeksportowałem wszystkie wpisy razem z komentarzami. Udało się już wszystkie przejrzeć, odfiltrować zbędne, a następnie kolejnym skryptem (o nim na końcu) przetworzyć wygenerowane archiwum z JSON-owej formy na format HTML-owy, aby finalnie zaprezentować w niniejszej notatce. Jest to wpis archiwizujący całą moją aktywność z serwisu pinger.pl. Powstał głównie dla moich własnych potrzeb dokumentacyjno-archiwalnych.

Czytaj dalej

Skryptowanie Windowsa: Perl

Ostatnio musiałem popracować nad dyplomówką, przez co kolejny wpis o skryptowaniu windowsa się gdzieś zapodział i jego pojawienie się trochę opóźniło. Tym razem o pisaniu skryptów w moim ulubionym języku, czyli Perlu. W ostatniej notce poświęconej WSH wspominałem, że można bez problemu “podłączyć” dowolny silnik i korzystać z dowolnego języka do pisania swoich skryptów jak Perl, Python, Lips, czy cokolwiek innego. W przypadku naszego Perla sprawa wygląda o tyle prościej, że wystarczy skorzystać z modułu Win32::OLE i cieszyć się możliwościami jakie daje ta technika.

Czytaj dalej

Skryptowanie Windowsa: WSH

Kolejny wpis z serii “Windows też da się łatwo oskryptować”. Poprzednia notka dotyczyła prostych skryptów wiersza poleceń, a teraz przyszła pora na skryptowanie z wykorzystaniem WSH. WSH, czyli Windows Script Host jest mechanizmem umożliwiającym skryptowanie systemu Windows w dużo większym stopniu i ze znacznie większymi możliwościami, niż proste skrypty powłoki. Host skryptów jest domyślnie instalowany wraz z systemem (od Windows 98) z dwoma standardowymi interpreterami VBScript oraz JScript. Po doinstalowaniu odpowiednich bibliotek można również używać Perla, Pythona, czy jakiegokolwiek innego języka.

Czytaj dalej

Skryptowanie Windowsa: powłoka

Windows jak każdy inny system również da się w bardzo łatwy sposób oskryptować. Nie wszyscy mają pojęcie na ile sposób i możliwości można to zrobić. To nie tylko babranie się w powłoce systemowej, która niektórym kojarzy się tylko i wyłącznie z dawnymi czasami panowania DOS-a lub przywilej systemów uniksopodobnych. Dlatego w najbliższych notkach przedstawię kilka możliwości i sposobów jakie oferuje system Microsoftu w sferze skryptowania i ułatwiania sobie życia. Sam używam głównie tego systemu, ale bez automatyzacji i skryptów moja praca pewnie byłaby dużo cięższa, a na pewno mniej wygodna i komfortowa.

Czytaj dalej

Wiersz poleceń i PATH

Często pracując z konsolą przydaje się możliwość, aby do najczęściej używanych programów i narzędzi dostawać się poprzez wprowadzenie jego nazwy w wierszu poleceń, niezalenie od bieżącej lokalizacji. Żeby coś takiego działało to dany program musi znajdować się w katalogu, którego ścieżka zawarta jest w zmiennej systemowej PATH, określającej listę lokalizacji jakie zostaną przeszukane przez interpreter poleceń w poszukiwaniu pliku wykonywalnego. Jednym z rozwiązań jest trzymanie wszystkich aplikacji i plików wykonywalnych w jednym katalogu, ale to w przypadku systemu Windows jest chybionym pomysłem.

Czytaj dalej

Interpunkcja ze spacjami

Drażni mnie jak niektórzy wstawiają spacje przed niektórymi znakami interpunkcyjnymi. Co oczywiście nie jest zgodne z zasadami gramatyki, semantyki, czy czegoś tam, w języku polskim i nie tylko. W pewnym projekcie, w którym obecnie pracuję, tłumacze właśnie mają małe zboczenie do wstawiania spacji przed “!” i innymi znakami. A zapewne kolegom deweloperom nie będzie się uśmiechała ręczna edycja plików. Dlatego “machnąłem” prościutki skrypcik w Perlu ;) #!/usr/bin/perl -pi.bak BEGIN { @ARGV or print "\nusage: .

Czytaj dalej

Netsh - zarządzanie sieciową konfiguracją

Biorąc laptopa na zajęcia na uniwerku wkurza mnie ciągłe zmienianie ustawień sieci, głównie adresów IP, aby podłączyć się do sieci. Dlatego postanowiłem poszukać, ewentualnie napisać prosty programik do szybkiej i wygodnej zmiany ustawień sieciowych z kilku zapisanych konfiguracji. Jednym z ciekawszych programów, jaki znalazłem to Shock IP Changer. Gdybym miał sam napisać swoją wersję to pewnie wyglądałby podobnie ;) Sądząc po zachowaniu programu, prawdopodobnie do zmian konfiguracji sieci wykorzystuje on narzędzie wiersza poleceń - netsh.

Czytaj dalej

AutoVersion dla SVN-a

Szukam czegoś do “auto-wersjonowania”, najlepiej jakiegoś skryptu (Perl) lub sposobu, aby takowy napisać. Zadaniem skryptu będzie odpowiednia akcja przy zdarzeniu repozytorium checkout lub commit. Oczywiście tym zadaniem jest automatyczna podmiana kilku danych dotyczących wersji w pliku nagłówkowym trzymającym takie dane. Niestety żadnych ciekawych informacji nie znalazłem. Jedynie jakiś shellowy GETVERSION. Do tego musi to działać z lokalnym repozytorium, bez serwera, na systemie Microsoftu. A może sam Subversion posiada taką możliwość? Wszakże można “podczepić” skrypty pod odpowiednie hooki.

Czytaj dalej

Obsługa routera w Perlu

Jako, że mój nowy router posiada interfejs www, nie wygodne jest momentami wykonanie kilku potrzebnych czynności, takich jak np. reset połączenia ADSL-owego. Trzeba uruchomić przeglądarkę, zalogować się, itd… zdecydowanie za dużo roboty. Dlatego napisałem sobie prosty skrypt w Perlu ułatwiający jego obsługę wprost z linii poleceń. Możliwości skryptu: C:\Documents and Settings\MalCom>perl c:\router.pl --help Prosta obsluga routera ADW-4301A firmy Planet router.pl [-c] [-d] [-st] [-cd] [-ad] -c Connect ADSL -d Disconnect ADSL -st Status -cd Connection Detalis -ad Attached Devices C:\Documents and Settings\MalCom> Podstawowe opcje, czyli połączenie i rozłączenie z Internetem, a także wyświetlanie kilku przydatnych informacji ;)

Czytaj dalej

GoogleCode Downloader v0.2

Poprawiłem mój perlowy skrypt GoogleCode Downloader. Ostatnio pobierając jakiś kod w źródłach znalazło się kilka tagów htmlowych. Być może google coś zmieniło, albo wtedy nie miałem okazji trafić na takie pliki. Przy okazji dorzuciłem usuwanie znaków nowej lini, bo zawsze kilka ich znajdowało się na końcu pliku. Changelog wersji 0.2: usuwanie tagów html z kodu źródłowego; usuwanie znaków końca linii z końca kodu źródłowego; W pewnych okolicznościach wystąpił jeszcze jeden, dosyć specyficzny błąd, ale nie mogłem go ponownie wywołać, więc nie został ostatecznie poprawiony.

Czytaj dalej