Konsola pod Windowsem
Od dłuższego czasu prawie codziennie mam styczność z Windowsowym cmd.exe. To, jak domyślna konsola Windowsa wygląda i jakie utrudnienia stwarza na każdym kroku pracy z nią, najlepiej świadczy o bylejakości niektórych rozwiązań Microsoftu.
Na całe szczęście, Microsoft zauważył to niedociągnięcie i postanowił opracować nowy shell, dający dużo większe możliwości piasnia skryptów, niż pliki *.bat i dający dużo większą swobodę, niż archaicznie podobne do DOSa cmd.exe. Od premiery Windows PowerShell, o którym mowa, minęło już całkiem sporo czasu (wcześniej projekt miał nazwę kodową Monad). W WPS dostajemy do ręki język skryptowy zbliżony do C# oraz możliwość z korzystania z dużej ilości klas .NET. Można w łatwy sposób tworzyć profile, aliasy (nareszcie ls pod Windowsem i to domyślnie!) funkcje i pewnie wiele innych ciekawych rzeczy, o których jeszcze mi nic nie wiadomo. Jednym słowem cud, miód i orzeszki
Żeby nie być gołosłownym, zaprezentuje małą próbkę możliwości PowerShella, używając kodu znalezionego w artykule na WSS.pl, zatytułowanym Wstęp do PowerShell. Najpierw stworzymy sobie instancję klasy WebClient, pochodzącej z frameworku .NET:
PS E:\> $webClient = new-object System.Net.WebClient
Teraz za pomocą utworzonego obiektu, pobierzemy RSS tego bloga:
PS E:\> $rssData = $webClient.DownloadString("http://www.cudi.pl/feed/")
W tym momencie, możemy już wklepać $rssData i zobaczyć źródła feedu, ale nie psujmy sobie zabawy. Wrzucamy kod XML do obiektu XmlDocument:
PS E:\> $xmlDoc = new-object System.Xml.XmlDocument
PS E:\> $xmlDoc.LoadXML($rssData)
I na koniec, korzystając z DOM i komendy format-table, wyświetlimy tytuły wszystkich wpisów, znajdujących się w feedzie:
PS E:\> $xmlDoc.getElementsByTagName("item") | format-table title
W 5 linijkach, bez korzystania z niestandardowych bibliotek, udało się wykonać całkiem złożone zadanie. Programiści PHP pewnie poczuli się swojo, widząc dolary jako pierwszy znak w nazwie zmiennych
Ale sam PowerShell jeszcze mi nie wystarcza. W dalszym ciągu, nawet po ostrym tuningu, są kłopoty z kopiowaniem i wklejaniem tekstu z i do konsoli, zmiana rozmiaru jest niewygodna, brakuje zakładek itd. I tu z pomocą przychodzi programik Console, czyli okienkowa nakładka na cmd.exe. Programik jest mały, szybki i na licencji GPL, a na dodatek pozwala na ustawienie sobie innego shella niż cmd.exe. Oczywiście odrazu został on zastąpiony Windows PowerShellem. Wpis zakończę screenshotem prezentującym zarówno WPS jak i Console w akcji:

Ciekawe narzędzie: http://www.powershellide.com/ – IDE dla PowerShell’a
A działa to cudo pod XP?
Jak widać na załączonym obrazku, działa. To jest pisane z myślą o Viście, ale powinno ruszyć na każdym systemie MS dającym sobie radę z .NET.
Hmm, czemu u mnie tak zamula?
Jak sobie zrobie na tym katalogu v1.0 komende “ls” i to samo na starym cmd.exe to różnica jest przerażająca!
Też tak masz?
Chodzi zauważalnie wolniej, ale nie aż tak, by praca stawała się niewygodna. Dla samego ls mogę poświęcić ten czas
zamula moze dlatego ze to nie jest jeszcze finalna wersja. Dopiero nadchodzi RC2 ( wss.pl/NewsList/1,8019.aspx )
Śliczna rzecz, nie powiem, trzeba się pobawić
. Jest do jakiś RAD obsługujący to może?