2008-10-07 14 views

Respuesta

16

no es gratis, pero es probablemente el mejor. "Windows NT Shell Scripting" by Tim Hill.

Dicho esto, cada vez que intento hacer algo 'avanzado' en los archivos por lotes de cmd, siempre termino lamentándolo.

Siempre.

edición: una explicación de las deficiencias de archivos por lotes:

  • capacidades matemáticas son patéticos
  • apoyo citar es una idea de último momento - si usted necesita para pasar una cadena entre comillas como argumento a un comando que necesita ser citado en sí, reservar un lugar en el asilo (en realidad, no estoy seguro de que es posible)
  • manipulación de cadenas es un mosaico de la mitad funcionalidad implementada

Luego están las partes interminables de rarezas, casos de esquina e inconsistencias con las que te encuentras en cada esquina.

Lo único que ocurre con los archivos por lotes es que son compatibles con todas las cajas de Windows que existen. Si solo quieres automatizar la ejecución de algunos comandos como grupo, genial. Tal vez agregue un bucle simple, un par de subrutinas y algunas variables de entorno para parametrizar las cosas. Más allá de eso, le recomiendo que use algo más.

+0

¿Sugiere usar un lenguaje de scripting en su lugar? –

+0

De acuerdo, iría con Python. – UnkwnTech

+0

En los últimos años no he tenido ganas de esto, así que he podido seguir con los archivos de lote básicos. Si tuviera que probar algo elegante, probablemente miraría PowerShell. No tengo experiencia con eso, pero he escuchado buenas cosas al respecto. –

3

¿Desbordamiento de la pila quizás?

https://stackoverflow.com/questions/tagged/batch-file

Lo que encontré a ser realmente útil era para salvar a toda la ayuda integrada cmd.exe a los archivos. En cmd.exe, escriba "help", que le mostrará una gran lista de comandos sobre los que puede obtener ayuda, para cada uno de esos tipo "help < command ", luego guarde los resultados en archivos apropiadamente nombrados. Personalmente, me resulta mucho más conveniente leer la información de ayuda en forma de archivo.

Además, estoy muy de acuerdo con la proscripción de Mike B contra el uso excesivo de archivos por lotes. Casi siempre es mejor usar un lenguaje más robusto que un lote para cualquier tarea que no sea trivial. Si su archivo por lotes tiene más de una página cuando se imprime, seguramente vivirá para lamentarlo.

4

Considere también aprender Windows Scripting Host como alternativa a la creación de scripts por lotes. Puede usar su elección de idiomas para escribir scripts (JScript, VBScript, incluso Python). Es compatible con todas las versiones modernas de Windows y proporciona una biblioteca de funciones rica en características que hace que los archivos por lotes se vean primitivos en comparación.

¿Qué estoy diciendo? Windows Batch files ARE primitive.

También puede crear bibliotecas WSH reutilizables, módulos, etc.Había una pequeña curva de aprendizaje en comparación con los archivos por lotes, pero valió la pena. Mis amigos de Linux ya no se burlan de mi entorno de scripting inferior. Ahora solo se burlan de mi sistema operativo inferior.

Cuestiones relacionadas