sistema - ¿Qué herramientas e idiomas están disponibles para las secuencias de comandos de shell de Windows?
linea de comandos windows (11)
¿Qué le parece si instala una versión de Windows de Python , Perl o su idioma favorito? Estos deberían ofrecer toda la funcionalidad que necesita.
Quiero saber cuáles son las opciones para hacer algunos trabajos de scripting en la plataforma de Windows. Necesito funcionalidades como manipulación de archivos, edición de registros, etc. ¿Se pueden editar los archivos utilizando herramientas de scripting? ¿Qué otra funcionalidad ofrecen las herramientas de secuencias de comandos de Windows? ¿Se puede hacer todo lo que se puede hacer utilizando la GUI de Windows utilizando un lenguaje de scripting?
Ayer pude haberlo reparado;)
¿Cuáles son todas las herramientas / idiomas para las secuencias de comandos del shell de Windows?
Leería mejor como
¿Qué herramientas e idiomas están disponibles para las secuencias de comandos de shell de Windows?
CScript? Recuerdo haber visto algo así.
Creo que Windows PowerShell de Microsoft es el favorito actual para este tipo de cosas.
Los archivos por lotes son los más portátiles, pero hacer cosas complicadas puede ser difícil (muy difícil).
Powershell es increíblemente poderoso, pero el dominio instalado en este momento es solo un poco más que las personas a las que les gusta usar PowerShell y los servidores que administran. Si controlas las máquinas en las que escribes y puedes exigir que se instale PowerShell, PowerShell es el camino a seguir. De lo contrario, los archivos por lotes son la mejor manera.
Powershell te permite hacer cualquier cosa que se pueda hacer, pero algunas cosas serán más difíciles que otras :)
(En serio, si quieres controlar una aplicación GUI de Windows a partir de un script, vas a tener mucho dolor a menos que la aplicación sea compatible con los scripts, o si deseas comenzar a publicar mensajes en los controles de diálogo y la pantalla arrastrando el diálogo para verificar para el éxito.)
Powershell es agradable, pero es algo extra que tienes que instalar. No es estándar en casi cualquier instalación de Windows. Entonces, si es solo para tu propio uso, entonces Powershell debería estar bien. Si necesita los scripts para ejecutarse en las computadoras de la población en general, por ejemplo, como parte de un software que está produciendo, puede que no sea la mejor opción.
Si estás de acuerdo con algo adicional que tienes que instalar, es posible que desees consultar cygwin. Esto le permite tener una línea de comando bash completa de Linux y todas las herramientas asociadas a su disposición.
Si necesita algo incluido en una instalación predeterminada de Windows. Está la línea de comandos de Windows (cmd.exe). Que tiene alguna funcionalidad, pero es muy deficiente en comparación con lo que está disponible en Linux. El otro problema, probablemente peor, es que no hay mucho en el camino de la documentación.
También podría estar interesado en VB Script (flame away). VB Script debería funcionar en casi cualquier instalación de Windows estándar reciente, y es mucho más funcional que la línea de comandos.
Puede valer la pena mirar la presentación de la versión 2.0. Muchas cosas han cambiado:
http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx
Recomendaría "Take Command" ( JPSoft ), que es más parecido a "cmd.exe" que PowerShell. Usamos aquí en ESSS por años.
Scripting es una explosión.
Personalmente, me gusta escribir algunos pequeños y malignos archivos por lotes. Puede encontrar un programa de línea de comando para hacer casi cualquier cosa. Prefiero los archivos por lotes principalmente porque son portátiles de una máquina a otra con un zip como máximo con algunas herramientas de Unix (SSED, GREP, GAWK). hay una línea de comando REG.Exe que incluso puede hacer cambios y lecturas del Registro. Puede analizar la salida de comandos con un bucle "FOR / f".
PowerShell tiene más ... err .. Power (segunda publicación que escribí, pero no puedo evitarlo).
Si desea ver la automatización de Windows, consulte AutoHotKey .
¿Qué estás tratando de automatizar? Eso puede ayudarnos a reducir lo que sería útil.
- Josh
EDITAR: para el registro lo escribí al mismo tiempo que @jameso. Si alguien en el trabajo no me hubiera hecho una pregunta, podría haber publicado antes que él. Obtuve un poco de estremecimiento por la similitud de la publicación, aunque ....
Tengo cygwin instalado, así que puedo ejecutar scripts de shell bash para mis necesidades de automatización. Además, cuando necesito cosas que se ejecutan sin más nativamente en Windows, uso una combinación de batch + jscript (se ejecuta en cmdline si tiene instalado Visual Studio.Net, simplemente llame a "cscript XXX.js").
Idiomas de scripting de Windows
También echa un vistazo a PowerShell