2010-04-18 17 views
6

Possibili duplicati:
Best “official” scripting language for Windows programmers
Universal scripting language for Windows
What tools and languages are available for windows shell scripting?Un linguaggio di scripting per Windows?

Io lavoro in Windows e spesso trovare la necessità di codificare alcuni script che manipola i file o la manipolazione delle stringhe di base. Attualmente sto facendo questo usando PHP ma avere uno stack LAMP per questo sembra eccessivo. Ho provato cose come autoHotkey ma la sintassi e la funzionalità sono orribili.

Quindi sono alla ricerca di uno script con: a) una sana sintassi b) un sacco di built-in librerie, funzioni, etc c) configurazione minima. Preferibilmente, vorrei codice ed eseguire lo script dal mio app launcher di scelta, esecutore

+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.it/questions/546275/windows-scripting-vbscript-dos-js-python –

risposta

14

Windows PowerShell ™ è un linguaggio di shell a linea di comando basata su attività e di script progettato appositamente per amministrazione di sistema. Basato su .NET Framework, Windows PowerShell ™ aiuta i professionisti IT e gli utenti esperti a controllare e automatizzare l'amministrazione del sistema operativo Windows e delle applicazioni eseguite su Windows.

Il Microsoft Windows Script Host (originariamente chiamato Windows Scripting Host, ma rinominato per la seconda release) è una tecnologia di automazione per i sistemi operativi Microsoft Windows che fornisce funzionalità di scripting paragonabili a file batch, ma con una gamma più ampia di funzioni supportate.

+9

+1. powershell offre funzionalità di scripting supportate da tutte le librerie di .NET e altre – leeeroy

1

È possibile utilizzare PHP senza uno stack LAMP completo. Certamente non vuoi la "L" se stai usando Windows!

Mi piacerebbe andare con me Strawberry Perl. Anche se non ha una grande quantità di librerie incorporate, ha the CPAN.

0

Perl, o una "vera" porta win32 (ActiveState o Strawberry Perl) o la variante Cygwin.

+6

"Una sintassi sana" era parte dei requisiti;) – Thomas

+2

Oh, mancava quella parte, mi dispiace. – Christoffer

2

Sono un fan di Python.

+0

Python si arresta in modo anomalo quando si tenta di inviare Unicode UTF-8 alla console utilizzando la codepage 65001) -: – hippietrail

0

Rebol è bello. L'eseguibile è di poche centinaia di KB, non richiede installazione e può fare GUI e roba di console. Può accedere a file, URL, eseguire programmi, è il nome. La sintassi è veramente minima; Rebol ha alcuni dei più eleganti oneliners .. :)

6

Mafutrct ha fornito una risposta molto buona; se stai iniziando a creare script di Windows, dovresti iniziare con PowerShell. I comandi incorporati, le estensioni di PowerShell e la possibilità di utilizzare il runtime .NET garantiscono il rispetto di tutti i requisiti di scripting. Desidero solo un miglior linguaggio di scripting in PowerShell. Se solo fosse Javascript :(.

Voglio sottolineare che WSH rimane un ambiente di scripting valido per Windows.Le ragioni per cui continuo a usarlo sono:

  • JavaScript, essendo sia funzionale e prototipale, permette script complessi che devono essere scritti in modo semplice e facilmente
  • gettare WMI e quasi finestre tutto ciò che riguarda può essere realizzato molto facilmente. Questo è molto utile per le attività di networking e di gestione del sistema
  • script WSH può essere eseguito con la stessa comodità su entrambi finestra e console (vale a dire l'invocazione da wscript e cscript)
  • Scrivi script è facile come aprire blocco note, digitando lo script , salvandolo come file js (o .vbs, .wsh) e facendo doppio clic sul file salvato
  • Anche se non rimane più strettamente uno script, un file .js può essere compilato per il CLR utilizzando il compilatore JavaScript di .NET: jsc.exe. Come PowerShell, questo fornisce l'accesso a tutto il framework .NET

Alcuni degli script che ho scritto nelle ultime settimane sono stati:

  • L'estrazione di dati dal server MS SQL, la creazione di un foglio di Excel e spingendo i dati in esso, e spedirlo a un client
  • formattazione, l'analisi e il filtraggio migliaia di righe di file di log degli interruttori VOIP e script vettore
  • utilizzando AJAX per estrarre i dati da un server remoto, chiamando un servizio web e passando i dati ad esso
  • Spooko i miei colleghi di lavoro quando usano il mio portatile "parlando" a distanza tramite gli altoparlanti con uno script utilizzando l'API vocale di Microsoft. Ecco il codice di esempio:

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

+1. Una volta ho completato tutti i compiti per un corso di programmazione funzionale utilizzando WSH e Javascript su Windows. Modificato in emacs! – Cheeso

+0

Il corso è disponibile online? – Abbas

+1

Era il corso CS-61A dell'UC Berkeley. http://www.youtube.com/watch?v=zmYqShvVDh4 Il video dice che era della primavera del 2008, ma il computer che usa lo fa sembrare primavera del 1988. Di tanto in tanto, l'istruttore fa anche affermazioni come "Puoi fare [programmazione funzionale in C# o altri linguaggi moderni ". Abbastanza sbagliato, dal momento che sia C# che JavaScript hanno buone caratteristiche funzionali, ma lo perdonerò da quando è rimasto bloccato nel 1988 e quelle lingue non sono ancora state inventate. Ho eseguito tutti i compiti utilizzando WSH + JavaScript. – Cheeso

1

Se (a) hai esperienza nel mondo LAMP, e (b) che si desidera per lo più la manipolazione di file e la stringa, vi consiglio Lua e il Lua File System. Si tratta di una scelta al polo opposto dello spazio di progettazione:

  • Aggressivamente cross-platform. Lua stessa (ma non LFS) si estende ai palmari, ai Palm Pilot e così via.

  • Design molto semplice e pulito. Rapporto potenza-peso incredibilmente alto.

Lua sarebbe bene se i problemi si stanno risolvendo non sono specifici di Windows e se c'è qualche possibilità di vostra voglia soluzioni simili su altre piattaforme.

Lua è anche straordinariamente facile da imparare (niente è orribile), compila con qualsiasi compilatore C, è sostenuta da un great book, e ha un-stop un'implementazione nativa di Windows.

0

Invia una prova Python. La sua piattaforma multipla, ha una sintassi chiara, facile da installare, un sacco di moduli "batterie incluse" (se non c'è il repository Pypi, equivalente al CPAN del Perl).

Problemi correlati