2010-04-18 13 views
6

duplicados posibles:
Best “official” scripting language for Windows programmers
Universal scripting language for Windows
What tools and languages are available for windows shell scripting?¿Un lenguaje de script para Windows?

trabajo en Windows y, a menudo encuentro la necesidad de codificar una secuencia de comandos que manipula archivos o manipulación básica cadena. Actualmente, estoy haciendo esto usando PHP, pero tener una pila LAMP para esto parece exagerado. He intentado cosas como autoHotkey pero la sintaxis y la funcionalidad son horribles.

Así que estoy buscando un script con: a) un cuerdo sintaxis b) montones y montones de bibliotecas integradas, funciones, etc c) una configuración mínima. Preferiblemente, me gustaría código y ejecutar el script desde mi aplicación lanzador de elección, Ejecutor

+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 –

Respuesta

14

Windows PowerShell ™ es un shell de línea de comandos basada en tareas y programación diseñado especialmente para administracion del sistema. Creado con .NET Framework, Windows PowerShell ™ ayuda a los profesionales de TI y a los usuarios avanzados a controlar y automatizar la administración del sistema operativo Windows y las aplicaciones que se ejecutan en Windows.

El Microsoft Windows Script Host (originalmente llamado Windows Scripting Host, pero rebautizado para la segunda versión) es una tecnología de automatización para los sistemas operativos Microsoft Windows que proporciona capacidades de scripting comparables a los archivos por lotes, pero con una mayor gama de funciones compatibles.

+9

+1. powershell le brinda capacidades de scripting respaldadas por todas las librerías de .NET, y más – leeeroy

1

Usted puede usar PHP sin LAMP completa. ¡Ciertamente no quieres la "L" si estás corriendo en Windows!

me gustaría ir con Strawberry Perl mí mismo. Si bien no tiene grandes cantidades de bibliotecas integradas, sí tiene the CPAN.

0

Perl, o bien un puerto "real" Win32 (ActiveState o Strawberry Perl) o la variante Cygwin.

+6

"Una sintaxis sensata" era parte de los requisitos;) – Thomas

+2

Ah, perdí esa parte, lo siento. – Christoffer

2

Soy un fan de Python.

+0

Python falla cuando intenta enviar Unicode UTF-8 a la consola utilizando la página de códigos 65001) -: – hippietrail

0

Rebol es agradable. El ejecutable es de unos cientos de KB, no requiere instalación y puede hacer GUI, así como cosas de la consola. Puede acceder a archivos, URLs, ejecutar programas, lo que sea. La sintaxis es realmente mínima; Rebol tiene algunas de las más limpias oneliners .. :)

6

Mafutrct ha proporcionado una respuesta muy buena; si está iniciando Windows Scripting, definitivamente debería comenzar con PowerShell. Los comandos incorporados, las extensiones de PowerShell y la capacidad de utilizar el tiempo de ejecución .NET garantizan que se cumplan todos los requisitos de scripting. Solo deseo un mejor lenguaje de scripting en PowerShell. Si sólo fuera Javascript :(.

Quiero señalar que WSH sigue siendo un entorno de programación viable para ventanas.Las razones por las que seguir utilizándolo son:

  • Javascript, siendo a la vez funcional y prototípico, permite a los scripts complejos para ser escritos de forma sencilla y fácil
  • El tiro en WMI y casi todo ventanas relacionadas se pueden lograr muy fácilmente. Esto es muy útil para tareas de red y administración del sistema
  • WSH scripts se pueden ejecutar con igual comodidad tanto en la ventana y la consola (es decir, la invocación por wscript y cscript)
  • Escribir un guión es tan fácil como abrir el bloc de notas, escribir el guión , guardándolo como un archivo js (o .vbs, .wsh) y haciendo doble clic en el archivo guardado
  • Aunque ya no es estrictamente un script, se puede cumplir un archivo .js para el CLR utilizando el compilador Javascript de .NET: jsc.exe. Al igual que PowerShell, esto proporciona el acceso a la totalidad del marco .NET

Algunos de los guiones que escribí en las últimas semanas fueron:

  • la extracción de datos de MS SQL Server, la creación de una hoja de Excel y empujando los datos en él, y enviarlo por correo a un cliente
  • formato, analizar y filtrar miles de líneas de los archivos de registro del conmutador VoIP y secuencias de comandos vector
  • uso de AJAX para extraer datos de un servidor remoto, llamar a un servicio web y pasando los datos al
  • Asusté a mis compañeros de trabajo cuando usaban mi computadora portátil al "hablarles" de forma remota a través de los altavoces con un script que usa la Speech API de Microsoft. Aquí está el código de ejemplo:

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

+1. Una vez completé todas las asignaciones para un curso de programación funcional mediante el uso de WSH y Javascript en Windows. Editado en emacs! – Cheeso

+0

¿Está el curso disponible en línea? – Abbas

+1

Fue el curso CS-61A de UC Berkeley. http://www.youtube.com/watch?v=zmYqShvVDh4 El video dice que fue a partir de la primavera de 2008, pero la computadora que usa hace que parezca la primavera de 1988. De vez en cuando, el instructor también hace afirmaciones como "Puedes 't hacer [programación funcional en C# u otros lenguajes modernos ". Muy equivocado, ya que tanto C# como JavaScript tienen buenas características funcionales, pero lo perdonaré ya que se quedó estancado en 1988 y esos idiomas aún no se han inventado. Hice todas las asignaciones usando WSH + JavaScript. – Cheeso

1

Si (a) que tenga experiencia en el mundo LAMP, y (b) que la mayoría quiere manipulación de archivos y la cadena, lo recomiendo Lua y la Lua File System. Es una opción en el polo opuesto del espacio de diseño:

  • Agresivamente multiplataforma. Lua mismo (pero no LFS) se extiende a computadoras de mano, Palm Pilots, etc.

  • Muy simple, diseño limpio. Increíblemente alta relación potencia-peso.

Lua sería bueno que los problemas se están resolviendo no son específicos de Windows y si hay alguna posibilidad de que su querer soluciones similares en otras plataformas.

Lua también es extraordinariamente fácil de aprender (nada es horrible), compila con cualquier compilador de C, está respaldado por una great book, y tiene una sola parada aplicación nativa de Windows.

0

Give Python a prueba. Su plataforma cruzada, tiene sintaxis clara, fácil de instalar, muchos módulos "baterías incluidas" (si no hay un repositorio Pypi, equivalente al CPAN de Perl).

Cuestiones relacionadas