2010-04-18 20 views
6

Możliwe duplikaty:
Best “official” scripting language for Windows programmers
Universal scripting language for Windows
What tools and languages are available for windows shell scripting?Język skryptowy dla systemu Windows?

Pracuję w systemie Windows, a często konieczność kodować jakiś skrypt, który manipuluje pliki lub zasadowych łańcuchach. Obecnie robię to za pomocą PHP, ale posiadanie stosu LAMP dla tego wydaje się przesadą. Próbowałem rzeczy takie jak autoHotkey, ale składnia i funkcjonalność są przerażające.

Więc szukam skryptów z: a) sane składnia b) wiele, wiele wbudowanych bibliotek, funkcje, itp c) minimalna konfiguracja. Korzystnie, chciałbym kod i uruchom skrypt z mojego aplikacjami wyboru, Executor

+5

http://stackoverflow.com/questions/1104886/universal-scripting-language-for-windows http://stackoverflow.com/questions/326775/best-official-scripting-language-for-windows-programmers http : //stackoverflow.com/questions/32087/what-tools-and-languages-are-available-for-windows-shell-scripting http: // stackoverflow.com/questions/546275/windows-scripting-vbscript-dos-js-python –

Odpowiedz

14

Windows PowerShell ™ to język oparty na zadaniach powłoka wiersza polecenia i skryptów zaprojektowany specjalnie dla Administracja systemu. Zbudowany na platformie .NET, Windows PowerShell ™ pomaga specjalistom IT i zaawansowanym użytkownikom kontrolować i automatyzować administrowanie systemem operacyjnym Windows i aplikacjami działającymi w systemie Windows.

skryptów Microsoft Windows Host (pierwotnie nazywany Windows Scripting Host, ale przemianowany na drugim wydaniu) to technologia automatyki dla systemów operacyjnych Microsoft Windows, które zapewnia funkcje skryptowe porównywalne do plików wsadowych, ale z większym zakresem obsługiwanych funkcji.

+9

+1. powershell zapewnia funkcje skryptowe wspierane przez wszystkie biblioteki z .NET, a więcej – leeeroy

1

Możesz używać PHP bez pełnego stosu LAMP. Z pewnością nie chcesz "L", jeśli używasz Windowsa!

Zostałbym sam z Strawberry Perl. Chociaż nie ma dużej ilości wbudowanych bibliotek, ma on wartość the CPAN.

0

Perl, "prawdziwy" port win32 (ActiveState lub Strawberry Perl) lub wariant Cygwin.

+6

"Zdrowa składnia" była częścią wymagań;) – Thomas

+2

Och, tęsknię za tą częścią, przepraszam. – Christoffer

0

Rebol jest ładny. Plik wykonywalny ma kilkaset KB, nie wymaga instalacji i może wykonywać GUI, a także konsole. Może uzyskiwać dostęp do plików, URL-i, uruchamiać programy, wymieniasz je. Składnia jest naprawdę minimalna; Rebol ma jedne z najciekawszych oneliners .. :)

6

Mafutrct dostarczył bardzo dobrą odpowiedź; jeśli uruchamiasz skryptowanie systemu Windows, zdecydowanie powinieneś zacząć od PowerShell. Wbudowane polecenia, rozszerzenia PowerShell i możliwość korzystania ze środowiska wykonawczego .NET zapewniają spełnienie wszystkich wymagań skryptu. Chciałbym tylko lepszego języka skryptowego w PowerShell. Jeśli tylko był to Javascript :(.

Chcę podkreślić, że WSH pozostaje realnym środowiskiem skryptowym dla systemu Windows.Powody dlaczego ja nadal z niego korzystać to:

  • JavaScript, będąc zarówno funkcjonalne i prototypal umożliwia złożone skrypty być napisany prosto i łatwo
  • rzucać w WMI i prawie szyby wszystko związane można osiągnąć bardzo łatwo. Jest to bardzo przydatne do zadań związanych z obsługą sieci i administrowaniem systemem. Skrypty WSH można uruchamiać z jednakową wygodą zarówno w oknie, jak i konsoli (np. Wywołanie przez skrypt wscript i cscript).
  • Pisanie skryptu jest tak proste jak otwarcie notatnika, wpisanie skryptu , zapisywanie go jako pliku js (lub .vbs, .wsh) i dwukrotne kliknięcie zapisanego pliku
  • Mimo że nie jest już ściśle skryptem, plik .js może być zgodny z CLR przy użyciu kompilatora JavaScript .NET: jsc.exe. Jak PowerShell, co zapewnia dostęp do całego .NET framework

Niektóre skryptów, które napisałem w ciągu ostatnich kilku tygodni były następujące:

  • Ciągnięcie danych z serwera MS SQL, tworząc arkusz Excel i pchanie danych do niego i mailing go do klienta
  • Formatowanie, analizowania i filtrowania tysięcy linii plikach dzienników przełączników VOIP i skryptów wektora
  • użyciu Ajax do ściągania danych z serwera zdalnego wywoływania internetową usługę i przekazanie danych do niego
  • Zwalczałem moich współpracowników, kiedy używają mojego laptopa, mówiąc "zdalnie" do nich przez głośniki za pomocą skryptu z wykorzystaniem Speech API Microsoftu. Oto przykładowy kod:

    var sapi = new ActiveXObject("SAPI.SpVoice"); 
    sapi.speak("hello world"); 
    
+1

+1. Kiedyś ukończyłem wszystkie zadania dotyczące kursu programowania funkcjonalnego za pomocą WSH i Javascript w systemie Windows. Edytowane w emacs! – Cheeso

+0

Czy kurs jest dostępny online? – Abbas

+1

To był kurs CS-61A z UC Berkeley. http://www.youtube.com/watch?v=zmYqShvVDh4 Film mówi, że to było od wiosny 2008 roku, ale komputer, którego używa, wygląda jak wiosna 1988. Od czasu do czasu instruktor także pisze: "Możesz 't do [programowania funkcjonalnego w C# lub innych nowoczesnych językach ". Całkiem nie tak, ponieważ zarówno C#, jak i JavaScript mają dobre cechy funkcjonalne, ale wybaczę mu, odkąd utknął w 1988 r. I te języki nie zostały jeszcze wynalezione. Zrobiłem wszystkie zadania używając WSH + JavaScript. – Cheeso

1

Jeśli (a) masz doświadczenia w świecie lampę i (b) głównie ma pliku i ciąg manipulacji, polecam Lua i Lua File System. To wybór przy przeciwnej stronie przestrzeni projektowej:

  • Agresywnie cross-platform. Sam Lua (ale nie LFS) rozciąga się na komputery kieszonkowe, Palm Pilots i tak dalej.

  • Bardzo prosty, czysty design. Niezwykle wysoki stosunek mocy do masy.

Lua byłaby dobra, jeśli problemy, które rozwiązujesz, nie są związane z Windows i jeśli istnieje prawdopodobieństwo, że będziesz chciał podobnych rozwiązań na innych platformach.

Lua jest również wyjątkowo łatwa do nauczenia (nic nie jest przerażające), kompiluje się z dowolnym kompilatorem C, jest wspierana przez great book i ma jednorazową natywną implementację Windows.

0

Spróbuj. Jest to platforma krzyżowa, ma przejrzystą składnię, jest łatwa do zainstalowania, wiele modułów "zawartych w bateriach" (jeśli nie ma repozytorium Pypi, odpowiednik CPAN Perla).

Powiązane problemy