Actualización: Wow, esto está tristemente desactualizado ahora (aunque eso es inevitable). Powershell definitivamente se está convirtiendo cada vez más en el lenguaje de elección para la automatización en Windows. Tiene muchas de las ventajas de cualquier lenguaje .net (como C#) combinado con gran parte de la conveniencia que existe en cualquier buen lenguaje de shell, sin las serias desventajas de los archivos por lotes.
Por lo que vale la pena, las opciones más populares que he visto en una determinada empresa grande, Redmond basado en software (en orden aproximado de la popularidad):
- archivos por lotes
- Perl
- de Windows Scripting Host (Javascript)
- exes Tiny
mucho menos popular:
Tenga en cuenta que Perl no requiere una instalación, que sólo requiere unos cambios de variables de entorno, por lo que es fácil de simplemente empujar una distribución completa en su sistema de control de código fuente junto con otras herramientas.
Mi preferencia personal sería evitar tanto como sea posible los archivos por lotes, incluso con los procesos más cuidadosos y rigurosos, el beneficio por el costo simplemente no lo vale. Nunca obtendrá una solución satisfactoria si usa lotes. Perl y Javascript son tentadores de usar, pero existen deficiencias fundamentales problemáticas que dejan mucho que desear, sin unas pautas de desarrollo sólidas. Es más probable que estos métodos conduzcan a un código de baja calidad.
Python y Powershell son buenos candidatos, pero no soy lo suficientemente hábil con ellos y, lo que es más importante, mucha gente no está familiarizada con ellos. Quizás esa no sea una excusa lo suficientemente buena.Las pequeñas empresas también pueden tener muchos problemas y requieren disciplina y proceso para asegurarse de que la fuente esté siempre registrada, de que las ex cumplen con ciertas normas de interfaz de usuario (p. Ej., Tienen ayuda útil si ejecuta -? O /?), Que tienen un propietario obvio, que el proceso para actualizar los archivos es detectable, etc.
El principal problema con PowerShell (al menos para mí) es que actualmente no está instalado por defecto en la mayoría de las versiones de Windows (incluidos XP y Vista). Sin embargo, se incluirá de fábrica en Windows Server 2008 y en Windows 7: http://tinyurl.com/5jhh2f –
Sí, PowerShell no está instalado de manera predeterminada en ninguna versión de Windows excepto Win7, que en realidad será PowerShell v2. –